[英]Cannot find the correct query
對不起,我的英語不好。 我必須檢索所有值為evalWaarde 3的記錄,同時它們必須同時屬於agLkrid 1、2935和2932。我知道(1,2932,2935)中的agLkrid不是一個好的解決方案但我找不到另一個。 所以實際上只有一個記錄:WJLUITV015有什么幫助嗎?
從a.agclid = e.evalclid和agLkrid = evallkrid WHERE(agSchoolid = '18'以及agclid像'WJLUI%'和agLkrid in(1,2932,2935)中,從議程2中選擇agClid,aglkrid,evalWaarde作為JOIN評估2和agDatum> ='2013/01/01'和agDatum <='2013/02/12'AND(evalWaarde = 3))按Agclid,Aglkrid,evalWaarde分組
agClid agLkrid evalWaarde WJLUIAT005 1 3 WJLUIBV005 1 3 WJLUIDV010 1 3 WJLUIDV030 1 3 WJLUITV015 1 3 WJLUIBV005 2932 3 WJLUITV015 2932 3 WJLUITV015 2935 3 WJLUITV020 2935 3935
我認為您希望使用GROUP BY
和HAVING
這樣的事情:
SELECT agClid, evalWaarde
FROM agenda2 as a
JOIN evaluaties2 as e
ON a.agclid = e.evalclid and agLkrid = evallkrid
WHERE agSchoolid='18'
and agclid like 'WJLUI%'
and agLkrid in (1,2932,2935)
and agDatum >= '2013/01/01'
and agDatum <= '2013/02/12'
AND evalWaarde = 3
GROUP BY agclid, evalWaarde
HAVING COUNT(DISTINCT agLkrid) = 3
如果該表中的那些字段存在唯一約束,則您的COUNT
不需要DISTINCT
。
我不確定JOIN
和其他WHERE
標准-我認為這對您來說是正確的,而您的問題是關於agLkrid。
這是一個SQL Fiddle,其中只有一個表返回單個結果。 以及該查詢:
SELECT agClid, evalWaarde
FROM agenda2
WHERE agclid like 'WJLUI%'
and agLkrid in (1,2932,2935)
AND evalWaarde = 3
GROUP BY agclid, evalWaarde
HAVING COUNT(DISTINCT agLkrid) = 3
這將返回WJLUITV015。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.