gpt4 book ai didi

mysql - SQL - HAVING 子句中的多行

转载 作者:可可西里 更新时间:2023-11-01 08:21:02 24 4
gpt4 key购买 nike

好的,那么我想解决的问题是:

我想表达以下业务规则:

显示需要额外审查的组(针对特定教程 (tutorialID) 和周 (week))。

所以基本上我需要确定一个组中的成员数量,然后我需要汇总该周和该组的所有 scrum 评论,看看这个数量是否等于该组中的成员数量。如果是,这意味着该周的所有成员都已经过审核,因此不需要显示。

假设:一个成员(member)每周只能被评论一次。

我尝试了以下 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
)
)

学生 enter image description here

scrum 回顾 enter asdasddescription here

enter image description here

最佳答案

您的内部查询(从第 8 行开始)返回多个 groupid。相等运算符 = 进行一对一比较,但您想要的是一对多比较,您可以使用 IN 进行比较。

因此,要解决此问题,请在第 7 行更改代码...

AND s.GroupID = (

...为此:

AND s.GroupID IN (

关于mysql - SQL - HAVING 子句中的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10383246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com