sql >> Base de Datos >  >> RDS >> Sqlserver

Obtenga filas distintas de un resultado de JOIN en SQL Server

Se está duplicando porque hay varias fotos por álbum. Para obtener uno, 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;