方法一:
SELECT T.SHOP_CODE,
       T.MEMBER_CODE,
       T.POINTS
  FROM TEST20110630.MEMBERSHIP T
 WHERE NOT EXISTS
       (SELECT L.MEMBER_CODE
         FROM TEST20110630.MEMBERPOINT_LOG L
        WHERE L.COM_ID= T.COM_ID
              AND L.MEMBER_CODE = T.MEMBER_CODE
       )
       AND T.POINTS <>0  
       
    有 27个会员,
   
方法二:    
    CREATE VIEW TEST20110630.VAA AS
SELECT T.SHOP_CODE,
       T.MEMBER_CODE,
       T.POINTS
  FROM TEST20110630.MEMBERSHIP T
 WHERE NOT EXISTS
       (SELECT L.MEMBER_CODE
         FROM TEST20110630.MEMBERPOINT_LOG L
        WHERE L.COM_ID= T.COM_ID
              AND L.MEMBER_CODE = T.MEMBER_CODE
       )
       AND T.POINTS <>0
SELECT AA.*,
       A.INV_DATE,B.DTLPOST_DATE
  FROM TEST20110630.VAA AA
   LEFT JOIN TEST20110630.MEMBERSHIP T ON AA.MEMBER_CODE=T.MEMBER_CODE
   LEFT JOIN TEST20110630.DINV_HDR A
       ON T.COM_ID = A.COM_ID
       AND T.MEMBER_CODE = A.MEMBER_CODE
       AND
       (
           NOT trim(T.MEMBER_CODE) IS NULL
       )
   INNER JOIN TEST20110630.DINV_DTL B
       ON B.COM_ID = A.COM_ID
       AND B.SHOP_CODE = A.SHOP_CODE
       AND B.COUNTER = A.COUNTER
       AND B.INV_NUM = A.INV_NUM
       
只 有 21个会员,这两个方法都类似,为啥执行结果不一样呢