SQL fråga
Hej!
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?
Svara
Sv: SQL fråga
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.
1 2 3 4 5 | 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 |
Svara