0

次のクエリがあります

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」の真と偽は、何も返さないクエリになると思います。

ここで何が問題なのですか?

4

1 に答える 1

0

別々に実行してみる

SELECT CDCREDITEUR 
  FROM GROOTBOEKMUTATIES
  WHERE GROOTBOEKMUTATIES.BOEKJAAR = 2013 

SELECT CDCREDITEUR
  FROM CREDOPENPST
  WHERE CREDOPENPST.BOEKJAAR = 2013

そして、それが返す結果を見てください

于 2013-06-07T14:06:52.237 に答える