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

Obter linhas distintas de um resultado de JOIN no SQL Server


Você está recebendo duplicatas porque há várias fotos por álbum. Para obter um, use row_number() :
SELECT Album_Name AS Album_Name, a.Album_Date AS Album_Date, a.Page_ID AS PageID,
       p.Image_ID AS Image_ID, p.Image_Small AS Image_Small 
FROM Album_Name a left outer JOIN
     (select p.*, row_number() over (partition by Album_Id order by Image_ID) as seqnum
      from Album_Photos p 
     ) p
    ON a.Album_ID = p.Album_ID and seqnum = 1;