こんにちは、アクティビティとポイントの記録を含む以下の表があります
Activites
|A_ID |Site | ActivityValue| ActivityName
---------------------------------------------------
|1 | site1 | 7 | ActivityName1
|2 | site1 | 6 | ActivityName2
|2 | site1 | 6 | ActivityName3
|2 | site1 | 6 | ActivityName4
pointsTable
|UserID |RemainderPoints | Active | ActivityName |
------------------------------------------------------
|1 | 10 | TRUE | ActivityName1|
|2 | 5 | TRUE | ActivityName2|
|2 | 5 | TRUE | ActivityName3|
|2 | 5 | TRUE | ActivityName3|
必要なのは、アクティビティからすべてのレコードを返すことです
SELECT ActivityName FROM activity WHERE `Site`='Site1'
戻り値
ActivityName1
ActivityName2
ActivityName3
ActivityName4
次に、pointstable のユーザー ID に基づいてユーザー ポイントを合計する必要があります。
SELECT UserID, ActivityName, Active, SUM( RemainderPoints)
FROM pointstable
WHERE UserID =2
AND Active = 'TRUE' GROUP BY ActivityName
戻り値
|UserID |RemainderPoints | Active | ActivityName |
-------------------------------------------------------------
|2 | 5 | TRUE | ActivityName2|
|2 | 10 | TRUE | ActivityName3|
それはすべて個別に問題ありませんが、ユーザーのためにそれらをまとめる必要があります。
ActivityName1 = 0
ActivityName2 = 5
ActivityName3 =10
ActivityName4 = 0
ポインタはありますか?