首页 > 解决方案 > 记录存在于一个 DB2 表中,但不存在于另一个表中

问题描述

我有 2 个 DB2 表。我想找出表 A 中的记录不是表 B 具有以下条件我写了这个查询但它不工作

      SELECT A.CL_BATCH_DEPT,                                         
      A.CL_TRANS_CODE, A.CL_CUR_DOC_NO                                
      FROM DBPA60AC.TB_ACCOUNT_EVENT A                              
      LEFT JOIN DBPA60AC.TB_DOCUMENT B  ON A.CL_CUR_DOC_NO  = B.CL_DOCNO                       
      WHERE A.CL_BATCH_DEPT = 'R07' AND  A.CL_TRANS_CODE = '210'
      AND A.CL_CUR_DOC_NO  = "PI%" AND                         
      B CL_DOCNO IS NULL                                              

标签: sqldb2

解决方案


我猜你想要:

SELECT e.*
FROM DBPA60AC.TB_ACCOUNT_EVENT e LEFT JOIN 
     DBPA60AC.TB_DOCUMENT d
     ON e.CL_CUR_DOC_NO = d.CL_DOCNO
WHERE e.CL_BATCH_DEPT = 'R07' AND
      e.CL_TRANS_CODE = '210' AND
      e.CL_CUR_DOC_NO LIKE 'PI%' AND
      d.CL_DOCNO IS NULL;

也就是说,与 的比较PI%表明你真的想要LIKE

请注意,我还更改了别名,因此它们是有意义的。


推荐阅读