Đây là bảng của tôi:Tính tổng của cột chọn Id trong SQL
- Member:
Id, Points
- CartRegister:
Id, Member_Id, CartId, RegisterDate, Point
- SelectetMembers:
Id, Member_Id
Các thành viên có thể đăng ký Giỏ hàng theo số CartRegister
và trong Member.Points
Tất cả các điểm mà thành viên kiếm được phải được tính toán và chèn vào. Vì vậy, tôi cần tính toán tất cả các điểm của mỗi SelectedMembers
và cập nhật bảng Member
, nhưng tôi không biết cách triển khai nó.
Các kịch bản sau đây là trong đầu tôi:
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 )
Vì vậy, tôi đang bối rối tới là những gì các mệnh đề where trong Select Sum(Point)
nếu tôi sử dụng
WHERE [CR].[Member_Id] IN (Select Member_Id From SelectedMembers )
Sau đó tổng của tất cả các thành viên có cùng một tổng của tất cả các điểm thành viên, có lẽ tôi cần một cái gì đó như foreach
Đề xuất của bạn là gì?
Tôi tin rằng nó nên là 'WHERE [CR]. [Member_Id] = [Member] .Id'. –
@ NikolaMarkovinović Cảm ơn câu trả lời của bạn là chính xác, bạn có thể viết nó như là một câu trả lời, và tôi có thể chấp nhận nó. – Saeid