Получить одного родителя со всеми детьми в одном ряду
Давайте предположим, что у меня есть настройка родительско-дочерней структуры в SQL (сервер 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
Есть ли способ вернуть одну строку на каждого родителя с его дочерними элементами в виде столбцов? Подобно:
parent.Id, parent.Name, child (1) .Id, child (1) .Name, child (2) .Id, child (2) .Name
Начал с:
select * from parent p
left outer join child c1 on c1.parentid = p.id