Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como comparo 2 linhas da mesma tabela (SQL Server)?


Você pode unir uma tabela a si mesma quantas vezes precisar, isso é chamado de autojunção.

Um alias é atribuído a cada instância da tabela (como no exemplo abaixo) para diferenciar uma da outra.
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'