2012-03-12 2 views
0

DB2 저장 프로 시저에서 작업하고 있는데 원하는 결과를 얻는데 약간의 문제가 있습니다. 다음 쿼리의 문제점은 최종 where 절을 전달하지 않는 테이블 A의 행을 반환하지 않는다는 것입니다. 첫 번째 WHERE 절 (WHERE A.GENRC_CD_TYPE = 'MDAA')을 충족하는 테이블 A의 모든 행을 수신하고 싶습니다. 그런 다음 각 행에 대해 표 B의 이메일 열을 추가하십시오 (WHERE (A.DESC) = B.MATL_PLNR_ID).SQL DB2 조건부 선택

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; 

어떤 도움을 주셔서 감사합니다.

답변

5

그런 다음 당신이 필요로하는 것은 LEFT 조인입니다 :

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' 
+0

위대한 팁 주셔서 감사합니다! – Ted