Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Exibir relacionamento Pai-Filho quando Pai e Filho são armazenados na mesma tabela


tente isso...
SELECT a.ID, a.Name, b.Name AS 'ParentName'
FROM TABLE AS a LEFT JOIN TABLE AS b on a.ParentID = b.ID

Com a junção esquerda, a consulta não encontrará nada para unir para o NULL e retornará em branco para o ParentName coluna.

EDITAR:

Se você não deseja que a coluna 'Pai' fique em branco, mas deseja mostrar um traço '-', use esta consulta.
SELECT a.ID, a.Name, COALESCE(b.Name,'-') AS 'ParentName'
FROM TABLE AS a LEFT JOIN TABLE AS b on a.ParentID = b.ID