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

Come faccio a confrontare 2 righe della stessa tabella (SQL Server)?

Puoi unire una tabella a se stessa tutte le volte che vuoi, si chiama self join.

Viene assegnato un alias a ciascuna istanza della tabella (come nell'esempio seguente) per differenziare l'una dall'altra.

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'