さて、私が解決したいクエリ:
次のビジネス ルールを表現したいと思います。
追加のレビューが必要なグループ (特定のチュートリアル (tutorialID) および週 (week) の) を表示します。
したがって、基本的には、グループ内のメンバーの数を決定する必要があります。次に、その週とそのグループのすべてのスクラム レビューを集計し、この量がグループ内のメンバーの数と等しいかどうかを確認する必要があります。表示されている場合、これはその週のすべてのメンバーがレビューされているため、表示する必要がないことを意味します。
前提: メンバーは 1 週間に 1 回のみレビューを受けることができます。
次のSQLを試しましたが、次のエラーが発生しますSubquery returns more than 1 row
SELECT groupName, g.groupId
FROM `student` s, `group` g
WHERE s.GroupId = g.GroupId
AND s.GroupId IS NOT NULL
AND s.tutorialId = 2
GROUP by s.GroupId
AND s.GroupID = (
SELECT GroupId
FROM student
GROUP BY GroupId
HAVING count(*)> (
SELECT count(*)
FROM scrumreview r, student s
WHERE r.reviewee = s.studentID
GROUP BY GroupId
AND r.week = 5
)
)
学生
スクラムレビュー
グループ