Это мои таблицы:
Id, Points
Id, Member_Id, CartId, RegisterDate, Point
Id, Member_Id
Members можно зарегистрировать корзину в CartRegister
и в Member.Points
Все баллы, которые заработал участник, должны быть рассчитаны и вставлены. Поэтому мне нужно вычислить все точки каждого SelectedMembers
и обновить таблицу Member
, но я не знаю, как это реализовать.
Следующий скрипт у меня в голове:
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 )
Так что я не понимаю, что такое предложение where в Select Sum(Point)
, если я использую
WHERE [CR].[Member_Id] IN ( Select Member_Id From SelectedMembers )
Тогда сумма всех членов будет равна сумме всех точек членов, может быть, я нужно что-то вроде foreach
Каково ваше предложение?