SQL DB2 条件选择
Posted
技术标签:
【中文标题】SQL DB2 条件选择【英文标题】:SQL DB2 Conditional Select 【发布时间】:2012-03-12 19:51:46 【问题描述】:我正在处理一个 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】:那么你需要的是一个 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'
【讨论】:
以上是关于SQL DB2 条件选择的主要内容,如果未能解决你的问题,请参考以下文章
如何针对 db2 数据库优化 SQL/Python 选择查询?