Zdobądź jednego rodzica ze wszystkimi dziećmi w jednym rzędzie
Załóżmy, że mam konfigurację struktury rodzic-dziecko w SQL (serwer 2005):
CREATE TABLE parent (Id INT IDENTITY PRIMARY KEY, Name VARCHAR(255))
CREATE TABLE child (Id INT IDENTITY PRIMARY KEY, parentId INT, Name VARCHAR(255))
insert into parent select 'parent with 1 child'
insert into parent select 'parent with 2 children'
insert into child(name, parentid) select 'single child of parent 1', 1
insert into child(name, parentid) select 'child 1 of 2 of parent 2', 2
insert into child(name, parentid) select 'child 2 of 2 of parent 2', 2
Czy istnieje sposób na zwrócenie jednego wiersza na rodzica z jego dziećmi jako kolumnami? Lubić:
parent.Id, parent.Name, child (1) .Id, child (1) .Name, child (2) .Id, child (2) .Name
Zaczęłam od:
select * from parent p
left outer join child c1 on c1.parentid = p.id