Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Получаване на отделни редове от резултат на JOIN в SQL Server

Получавате дубликат, защото има няколко снимки в албум. За да получите такъв, използвайте 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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Алтернатива на използването на локални променливи в клауза where

  2. Рекурсивният CTE с уникален идентификатор трябва да има стойност в котва

  3. Използване на RegEx в SQL Server

  4. Премахване на идентичност от колона в таблица

  5. Импортиране на Excel в SQL база данни с помощта на vb.net и asp.net