Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie vergleiche ich 2 Zeilen aus derselben Tabelle (SQL Server)?

Sie können einen Tisch beliebig oft mit sich selbst verknüpfen. Dies wird als Selbstverknüpfung bezeichnet.

Jeder Instanz der Tabelle wird ein Alias ​​zugewiesen (wie im Beispiel unten), um sie voneinander zu unterscheiden.

SELECT a.SelfJoinTableID
FROM   dbo.SelfJoinTable a
       INNER JOIN dbo.SelfJoinTable b
         ON a.SelfJoinTableID = b.SelfJoinTableID
       INNER JOIN dbo.SelfJoinTable c
         ON a.SelfJoinTableID = c.SelfJoinTableID
WHERE  a.Status = 'Status to filter a'
       AND b.Status = 'Status to filter b'
       AND c.Status = 'Status to filter c'