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

Актуализиране на заявка с корелирана подзаявка

Въпреки че мисля, че JOIN критерии е много малко вероятно, изглежда, че се опитвате да направите това?

РЕДАКТИРАНЕ:Промених JOIN критерии, но това е, което търсите.Grouping By колони, които са OR 'd е странно.

;WITH MinOrderDates AS
(
    SELECT   CustID 
            ,OrderDate  = MIN(OrderDate)
    FROM Orders
    GROUP BY CustID
)

UPDATE C
SET FirstOrderDate = MIN(O.OrderDate)
FROM Customers      C
JOIN MinOrderDates  O   ON C.Id = O.CustID

Ето как ще изглежда вашата заявка с OR s

;WITH MinOrderDates AS
(
    SELECT   ShipperId
            ,PickupId
            ,ConsigneeId
            ,DeliveryId
            .BillingId
            ,OrderDate  = MIN(OrderDate)
    FROM Orders
    GROUP BY ShipperId
            ,PickupId
            ,ConsigneeId
            ,DeliveryId
            .BillingId
)

UPDATE C
SET FirstOrderDate = MIN(O.OrderDate)
FROM Customers      C
JOIN MinOrderDates  O   ON o.ShipperId     = C.Id or
                           o.PickupId      = C.Id or
                           o.ConsigneeId   = C.Id or
                           o.DeliveryId    = C.Id or
                           o.BillingId     = C.Id 

РЕДАКТИРАНЕ:Въпреки че ми е трудно да намеря грешка в публикувания от вас синтаксис.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инсталирайте разширението на агент на SQL Server в Azure Data Studio

  2. SQL Server CTE - Намиране на най-горния parentID за всяко дете?

  3. Синтаксична грешка близо до 'of' в условието за търсене в пълен текст 'control of'

  4. Ще има ли SQL Server 2012 FTS естествена поддръжка за подчертаване на удари?

  5. Премахнете крайните нули от десетичната запетая в SQL Server