SQL DB2条件选择

tma*_*rst 0 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;
Run Code Online (Sandbox Code Playgroud)

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

Ica*_*rus 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'
Run Code Online (Sandbox Code Playgroud)