Hej! Du joinar lämpligen tabellen med sig själv och ger dem olika alias (t.ex. "child" resp. "parent") så du kan skilja dem åt.SQL fråga
Jag har ett litet problem med att få ut ett dataset där ett FKid pekar på ett ID i samma tabell.
Ponera följande databastabell där ID och ParentID är i samma tabell.
ID|Name|ParentID|
1 |Test1|3
2 |Test2|1
3 |Test3|2
Det jag vill få ut till ett dataset är följande
ID|Name|ParentID|ParentName|
1 |Test1|3 |Test3
2 |Test2|1 |Test1
3 |Test3|2 |Test2
Hur skapar man en sådan SQL fråga? Sv: SQL fråga
SELECT child.ID, child.[Name], parent.ID AS ParentID, parent.[Name] AS ParentName
FROM tabellen child
INNER JOIN tabellen parent ON child.ParentID = parent.ID
-- Alt. (om du även vill få ut rötterna, d.v.s. de rader där ParentID är null)
LEFT OUTER JOIN tabellen parent ON child.ParentID = parent.ID