To są moje tabel:Oblicz sumę kolumny dla wybranych identyfikatorów w SQL
- użytkownika:
Id, Points
- CartRegister:
Id, Member_Id, CartId, RegisterDate, Point
- SelectetMembers:
Id, Member_Id
Członkowie można zarejestrować Koszyk w CartRegister
, aw Member.Points
Wszystkie punkty, które uzyskał członek, muszą zostać obliczone i wstawione. Potrzebuję więc obliczyć wszystkie punkty każdego z nich i zaktualizować tabelę , ale nie wiem, jak ją zaimplementować.
Poniższy skrypt jest w mojej głowie:
UPDATE [Member]
SET [Points]=
(
SELECT SUM([CR].[Point]) AS [AllPoints]
FROM [CartRegister] AS [CR]
WHERE [CR].[Member_Id] = --???
)
WHERE [Members].[Member].[Id] IN (SELECT Member_Id From SelectedMembers )
więc jestem mylić co jest gdzie klauzula Select Sum(Point)
jeśli używam
WHERE [CR].[Member_Id] IN (Select Member_Id From SelectedMembers )
Następnie suma wszystkich członków być sama z suma wszystkich punktów członkowskich, może potrzebuję czegoś takiego jak foreach
Jaka jest Twoja sugestia?
Wierzę, że powinno to być "WHERE [CR]. [Member_Id] = [Member] .Id'. –
@ NikolaMarkovinović Dzięki, że twoja odpowiedź jest poprawna, możesz napisać ją jako odpowiedź i mogę ją zaakceptować. – Saeid