Вычислить сумму столбцов для выбранных идентификаторов в SQL

Это мои таблицы:

  • Member:Id, Points
  • CartRegister:Id, Member_Id, CartId, RegisterDate, Point
  • SelectetMembers: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Каково ваше предложение?

6
задан marc_s 23 April 2012 в 10:40
поделиться