1
リンクされた子コードの数のマスター親コードを特定する必要がありますが、最大再帰エラーが発生しています。私はまだSQLに新しいので、誰かがこの問題で私を助けてください。SQL親子 - 親親
理想的には、私はこのような何か探して、最終的な結果がしたい:
コードを私はこのようなルックスでプレーしてきた:
WITH Hierarchy(Code, Previous_Code, Master_Parent)
AS
(
SELECT CAST(Code AS VARCHAR(MAX)), CAST(Previous_Code AS VARCHAR(MAX)), CAST('' AS VARCHAR(MAX))
FROM Test AS LastGeneration
WHERE CAST(Code AS VARCHAR(MAX)) NOT IN (SELECT COALESCE(CAST(Previous_Code AS VARCHAR(MAX)), '0') FROM Test)
UNION ALL
SELECT CAST(PrevGeneration.Code AS VARCHAR(MAX)), CAST(PrevGeneration.Previous_Code AS VARCHAR(MAX)),
CAST(CASE WHEN Child.Previous = ''
THEN(CAST(Child.Code AS VARCHAR(MAX)))
ELSE(Child.Previous + '.' + CAST(Child.Code AS VARCHAR(MAX)))
END AS VARCHAR(MAX))
FROM Test AS PrevGeneration
INNER JOIN Hierarchy AS Child ON PrevGeneration.Code = Child.Previous_Code
)
SELECT *
FROM Hierarchy
OPTION(MAXRECURSION 32767)
ありがとうジョン。魔法のように働く。 – Myx
@Myxそれは助けてくれてありがとう:) –