我正在研究DB2存储过程,并且在获取我想要的结果时遇到一些麻烦。以下查询的问题是它不返回表A中未传递最终where子句的行。我想从表A中收到满足第一个WHERE子句的所有行(WHERE A.GENRC_CD_TYPE ='MDAA')。然后,为表B中的每一行添加一个电子邮件列(WHERE(A.DESC)= B.MATL_PLNR_ID)。
SELECT A.GENRC_CD,
A.DESC_30,
A.DOL,
A.DLU,
A.LU_LID,
B.EMAIL_ID_50
FROM GENRCCD A,
MPPLNR B
WHERE A.GENRC_CD_TYPE = 'MDAA'
AND (A.DESC_30) = B.MATL_PLNR_ID;
非常感谢任何帮助,谢谢!
答案 0 :(得分:5)
然后您需要的是LEFT JOIN:
SELECT A.GENRC_CD,
A.DESC_30,
A.DOL,
A.DLU,
A.LU_LID,
B.EMAIL_ID_50
FROM GENRCCD A LEFT JOIN
MPPLNR B on A.DESC_30=B.MATL_PLNR_ID
WHERE A.GENRC_CD_TYPE = 'MDAA'