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

Как да изберете единичен запис в ляво съединение

 SELECT
   M.ModelID, M.Model, C.Content
 FROM
   Models M
 LEFT JOIN
   Models_Content C
     ON C.ContentID = (SELECT MIN(ContentID) FROM Models_Content WHERE ModelID = M.ModelID)
 WHERE
   M.ModelID = 5

Или

;WITH sorted_content AS
(
  SELECT
    ROW_NUMBER() OVER (PARTITION BY ModelID ORDER BY ContentID) AS itemID,
    *
  FROM
    Models_Content
)
 SELECT
   M.ModelID, M.Model, C.Content
 FROM
   Models M
 LEFT JOIN
   sorted_content C
     ON  C.ModelID = M.ModelID
     AND C.itemID  = 1
 WHERE
   M.ModelID = 5


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Уникално ограничение на TSQL Multi Column, което също позволява множество нулеви стойности

  2. Използвайте set в оператор case в SQL Server

  3. Как да симулирам UNPIVOT в Access?

  4. Задействане за предотвратяване на вмъкване за дублиращи се данни от две колони

  5. Проверката за стойност на първичен ключ преди вмъкване по-бърза ли е от използването на try-catch?