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

questionAnswers(5)

yourAnswerToTheQuestion