Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Afficher la relation parent-enfant lorsque parent et enfant sont stockés dans la même table

essayez ceci...

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

Avec la jointure à gauche, la requête ne trouvera rien à joindre pour le NULL et retournera un blanc pour le ParentName colonne.

MODIFIER :

Si vous ne voulez pas que la colonne 'Parent' soit vide, mais que vous vouliez afficher un tiret '-', utilisez cette requête.

SELECT a.ID, a.Name, COALESCE(b.Name,'-') AS 'ParentName'
FROM TABLE AS a LEFT JOIN TABLE AS b on a.ParentID = b.ID