DBMSがSQL Serverの場合、再帰を使用してCommon Table Expressions(CTE)を使用してこれを実行できます。私はこれがすべてのバージョン2008R2以上で動作すると信じています。以下のクエリはあなたにすべての親与えるだろう - 3
CREATE TABLE dbo.ParentChildRel
(
Parent INT
,Child INT
)
INSERT INTO dbo.ParentChildRel
VALUES (1,2)
,(1,3)
,(2,4)
,(2,5)
,(3,6)
,(3,7)
,(6,8)
,(7,10)
;WITH Hierarchy AS
(
SELECT Parent
,Child
FROM dbo.ParentChildRel
WHERE Parent = 3
UNION ALL
SELECT rel.Parent
,rel.Child
FROM Hierarchy hier
INNER JOIN dbo.ParentChildRel rel ON hier.Child = rel.Parent
)
SELECT *
FROM Hierarchy
結果
Parent Child
3 6
3 7
7 10
6 8
の子孫である子の関係をあなたが持っている問題を指定してください。 –
どの[DBMS](https://en.wikipedia.org/wiki/DBMS)製品を使用していますか? Postgres?オラクル? 「SQL」はクエリ言語であり、特定のデータベース製品の名前ではありません。 –