sql >> Databasteknik >  >> RDS >> Sqlserver

Visa förälder-barn-relationen när förälder och barn är lagrade i samma tabell

prova detta...

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

Med den vänstra kopplingen hittar inte frågan något att gå med för NULL och returnerar tomt för ParentName kolumn.

EDIT:

Om du inte vill att kolumnen "Förälder" ska vara tom, men vill visa ett "-"-streck, använd den här frågan.

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


  1. Använd RAND() i användardefinierad funktion

  2. Hur man kommer igång med SQL Server på Azure

  3. SQL fast värde IN() kontra INNER JOIN prestanda

  4. RDLC LocalReport Export till Excel riktigt långsam