Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Visualizza la relazione padre-figlio quando padre e figlio sono archiviati nella stessa tabella

prova questo...

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

Con il join sinistro, la query non troverà nulla a cui unire per il NULL e restituirà uno spazio vuoto per il ParentName colonna.

MODIFICA:

Se non vuoi che la colonna "Parent" sia vuota, ma vuoi mostrare un trattino "-", usa questa query.

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