1
製品テーブルに一致するカテゴリがある場合、既存の再帰的なカテゴリツリーから完全なノードを取得したいとします。再帰的なSQLクエリで完全なノードを見つける方法
私には以下のものがあります。
WITH ret AS (
SELECT ID, ParentID, ProductCategoryId, ProductCategoryName
FROM ProductCategoryTree as p1, Products as p2
WHERE p1.ProductCategoryId = p2.ProductCategoryId
UNION ALL
SELECT p.ID, p.ParentID, p.ProductCategoryId, p.ProductCategoryName
FROM ProductCategoryTree as p INNER JOIN
ret r ON p.ParentID = r.ID
)
SELECT DISTINCT ID, ParentID, ProductCategoryId, ProductCategoryName
FROM ret;
これは私に、製品とそのカテゴリのすべての子ノードのカテゴリを与えるだろうが、私はまた、上位レベル(S)からカテゴリ(またはカテゴリ)を取得する必要があります。
任意の助けもいただければ幸いです!
?最後の結合で親子関係を逆にするとどうなりますか? 'ret r ON p.ID = r.ParentID'? –
こんにちはTamas、それはSQL Serverです。私はあなたの提案をテストし、最初のテストの後、私はそのトリックをしたと思う!だからシンプルで、しかも効果的です:)ありがとう。 – punatiainen