SQL DB2条件选择

时间:2012-03-12 19:51:47

标签: sql db2

我正在研究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;

非常感谢任何帮助,谢谢!

1 个答案:

答案 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'