我目前在我的数据库中有两个表。一个是Applicants
,另一个是ProgrammeDetail
。在ProgrammeDetail
中,我捕获了minimum required applicant
。因此,当Applicant
注册某个程序时,它们将与ProgrammeID
绑定。
但是,当我使用INNERJOIN
和WHERE
子句执行我的SQL语句时,我一直收到错误。
programmeDetail 表:
-------------------------------------------
| programmeID | programmeRequirement |
-------------------------------------------
| P01 | 20 |
-------------------------------------------
带有示例数据的申请人表:
-----------------------------------
| applicantID | programmeID |
-----------------------------------
| A001 | P01 |
-----------------------------------
| A002 | P01 |
-----------------------------------
期望的输出:
-------------------------------------------
| programmeID | programmeRequirement |
-------------------------------------------
| P01 | 20 |
-------------------------------------------
因为P01
只有2名申请人,最低要求是20名申请人。因此P01
将被检索。
以下是我尝试的内容:
SELECT *
FROM programmeDetail pD
INNER JOIN applicant appl
ON pD.programmeID = appl.programmeID
WHERE COUNT(appl.applicantID) < pD.programmeRequirement
错误:
在HAVING子句中无效,因为它不包含在聚合函数或GROUP BY子句中。
答案 0 :(得分:0)
尝试使用以下内容,我尝试使用MySQL,它可以处理您想要的输出。我在结果中只添加了您需要的列。
WinSqmSetDWORD64+0x14e4