ОК, так что запрос я хотел бы решить:SQL - несколько строк в HAVING условия
Я хотел бы выразить следующие бизнес-правило:
Показать группы (для конкретного учебника (tutorialID) и неделя (неделя)), которые требуют дополнительных обзоров.
Так что в основном мне нужно определить количество членов в группе, тогда мне нужно собрать все просмотры scrum для этой недели и этой группы и посмотреть, равна ли эта сумма количеству членов в группе. Если это так, это означает, что все участники были просмотрены на этой неделе, и поэтому их не нужно отображать.
Предположения: Участник может быть просмотрен только раз в неделю.
Я попытался следующий 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
)
)
Student
scrumreview
группу
добавлен в Group By во внутреннем наиболее подзапросом – dgamma3