SQL语句WHERE子句

时间:2016-11-13 06:29:12

标签: sql

我目前在我的数据库中有两个表。一个是Applicants,另一个是ProgrammeDetail。在ProgrammeDetail中,我捕获了minimum required applicant。因此,当Applicant注册某个程序时,它们将与ProgrammeID绑定。

但是,当我使用INNERJOINWHERE子句执行我的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子句中。

1 个答案:

答案 0 :(得分:0)

尝试使用以下内容,我尝试使用MySQL,它可以处理您想要的输出。我在结果中只添加了您需要的列。

WinSqmSetDWORD64+0x14e4