簡體   English   中英

找不到正確的查詢

[英]Cannot find the correct query

對不起,我的英語不好。 我必須檢索所有值為evalWaarde 3的記錄,同時它們必須同時屬於agLkrid 1、293​​5和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 BYHAVING這樣的事情:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM