Sql 找不到正确的查询

Sql 找不到正确的查询,sql,Sql,对不起,我的英语不好。 我必须检索所有具有值evalWaarde 3的记录,同时它们必须同时属于agLkrid 1、2935和2932。 我知道129322935中的agLkrid不是一个好的解决方案,但我没有找到另一个。 所以实际上只有一条记录:WJLUITV015 有什么帮助吗 选择agenda2中的agClid、aglkrid、EVALWARDE作为联接评估2作为a.agClid=e.evalclid和aglkrid=evallkrid上的e 其中agSchoolid='18'和agcli

对不起,我的英语不好。 我必须检索所有具有值evalWaarde 3的记录,同时它们必须同时属于agLkrid 1、2935和2932。 我知道129322935中的agLkrid不是一个好的解决方案,但我没有找到另一个。 所以实际上只有一条记录:WJLUITV015 有什么帮助吗

选择agenda2中的agClid、aglkrid、EVALWARDE作为联接评估2作为a.agClid=e.evalclid和aglkrid=evallkrid上的e 其中agSchoolid='18'和agclid类似于'WJLUI%'和129322935中的agkrid
agDatum>='2013/01/01'和agDatum我认为您希望使用GROUP BY并拥有以下功能:


这将返回WJLUITV015。

为什么您会说129322935中的agLkrid不是一个好的解决方案?Thxs,这个结果只是整个查询的一部分。。。我继续这个结果,看看是否所有的查询都能工作…@user2065400-希望这有帮助。祝你好运。@2065400-嗯?忘记链接?选择clid、cldoel、CLKER、clprefix、clleerlijn、f1、f2、f3,f4来自clleerlijn(如“WJNLUI%”和f3不为NULL或f4不为NULL)的集群,clid在agenda2中选择agClid作为联接评估2作为a.agClid=e.evalclid中的e,其中agSchoolid='18'和AGDATA>='2013/01/01'以及AGDATA@user2065400-这意味着在使用IN-remove时,您的选择列表中不能有多个字段从您的选择列表中选择Evalwarde,因为您确实只需要agClid。您也可以通过将其从组中删除,但这并不重要,因为它也在您的WHERE中。看看这是否有效。。。
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
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