Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Obtenir des lignes distinctes à partir d'un résultat de JOIN dans SQL Server

Vous obtenez des doublons car il y a plusieurs photos par album. Pour en obtenir un, utilisez 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;