我目前在我的數據庫中有兩個表。一個是Applicants
,另一個是ProgrammeDetail
。在ProgrammeDetail
,我捕獲了minimum required applicant
。因此,當Applicant
註冊一個計劃時,他們將被綁定到ProgrammeID
。SQL語句WHERE子句
但是,當我做我的SQL語句時,使用INNERJOIN
和WHERE
子句,我不斷收到錯誤。
programmeDetail表的示例數據:
-------------------------------------------
| programmeID | programmeRequirement |
-------------------------------------------
| P01 | 20 |
-------------------------------------------
申請人與樣本數據表:
-----------------------------------
| applicantID | programmeID |
-----------------------------------
| A001 | P01 |
-----------------------------------
| A002 | P01 |
-----------------------------------
希望的輸出:
-------------------------------------------
| programmeID | programmeRequirement |
-------------------------------------------
| P01 | 20 |
-------------------------------------------
因爲只有2申請人FO最低要求是20名申請人。因此P01
將被檢索。
這是我已經試過:
SELECT *
FROM programmeDetail pD
INNER JOIN applicant appl
ON pD.programmeID = appl.programmeID
WHERE COUNT(appl.applicantID) < pD.programmeRequirement
錯誤:
is invalid in the HAVING clause because it is not contained in either an aggregate function or the GROUP BY clause.
請顯示a)表格結構,b)樣本數據,和c)您的期望輸出。這個問題目前還不清楚。 –
你不需要在別的地方使用別名嗎? –
也把你得到什麼錯誤。不清楚。 – ScanQR