Chociaż myślę, że JOIN
kryteria są bardzo mało prawdopodobne, wygląda na to, że próbujesz to zrobić?
EDYCJA:Zmodyfikowałem JOIN
kryteria, ale to jest to, czego szukasz.Grouping By
kolumny, które są OR
„d” jest dziwne.
;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
Tak wyglądałoby Twoje zapytanie z 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
EDYCJA:Chociaż trudno mi znaleźć błąd w opublikowanej składni.