Sql 使用子查询进行查询并测试该子查询的布尔结果失败

Sql 使用子查询进行查询并测试该子查询的布尔结果失败,sql,Sql,我有以下疑问 SELECT CDCREDITEUR FROM sysadm_CREDITEUR WHERE STATUS = 'A' AND CDCREDITEUR = 'XXX' AND CDCREDITEUR IN ( SELECT CDCREDITEUR FROM GROOTBOEKMUTATIES WHERE GROOTBOEKMUTATIES.BOEKJAAR = 2013 ) AND CDCREDITEUR IN ( SE

我有以下疑问

SELECT CDCREDITEUR
FROM sysadm_CREDITEUR
WHERE STATUS = 'A' 
  AND CDCREDITEUR = 'XXX' 
  AND CDCREDITEUR IN 
    ( SELECT CDCREDITEUR 
      FROM GROOTBOEKMUTATIES
      WHERE GROOTBOEKMUTATIES.BOEKJAAR = 2013 )
  AND CDCREDITEUR IN 
    ( SELECT CDCREDITEUR
      FROM CREDOPENPST
      WHERE CREDOPENPST.BOEKJAAR = 2013 );
我知道CDCREDITEUR存在于CREDOPENPST,而GROOTBOEKMUTATIES则不存在 但我确实得到了一个结果

我认为“in”中的true和false将导致一个不返回任何内容的查询

这里出了什么问题?

尝试单独执行

SELECT CDCREDITEUR 
  FROM GROOTBOEKMUTATIES
  WHERE GROOTBOEKMUTATIES.BOEKJAAR = 2013 

SELECT CDCREDITEUR
  FROM CREDOPENPST
  WHERE CREDOPENPST.BOEKJAAR = 2013

并查看它返回的结果

确定在
GROOTBOEKMUTATIES
的查询中使用了正确的列名?如果没有名为
CDCREDITEUR
的列,则将从外部查询中解决此问题。我建议过帐子查询的结果,并应用CDCREDITEUR上的筛选器。请参阅。而且效果很好。在GROOTBOEKMUTATIES中必须有一个值(SQLFIDLE在Mysql上,但我不希望AND和in运算符从一个db更改为另一个db)