Obter um pai solteiro com todas as crianças em uma única linha
Vamos supor que eu tenha uma configuração de estrutura pai-filho no SQL (servidor 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
Existe uma maneira de retornar uma linha por pai com seus filhos como colunas? Gostar:
parent.Id, parent.Name, child (1) .Id, child (1) .Name, filho (2) .Id, child (2) .Name
Começou com:
select * from parent p
left outer join child c1 on c1.parentid = p.id