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)