Próbuję zaktualizować pole w bazie danych do sumy jego połączonych wartości:
UPDATE P
SET extrasPrice = SUM(E.price)
FROM dbo.BookingPitchExtras AS E
INNER JOIN dbo.BookingPitches AS P ON E.pitchID = P.ID
AND P.bookingID = 1
WHERE E.[required] = 1
Po uruchomieniu tego pojawia się następujący błąd:
"An aggregate may not appear in the set list of an UPDATE statement."
Macie jakieś pomysły?
1 odpowiedź
Spróbuj może czegoś takiego:
UPDATE p
SET p.extrasPrice = t.sumPrice
FROM BookingPitches AS p
INNER JOIN
(
SELECT PitchID, SUM(Price) sumPrice
FROM BookingPitchExtras
WHERE [required] = 1
GROUP BY PitchID
) t
ON t.PitchID = p.ID
WHERE p.bookingID = 1