DB2 SQL:如何将“WHERE EXISTS”表中的列添加到选择语句
Posted
技术标签:
【中文标题】DB2 SQL:如何将“WHERE EXISTS”表中的列添加到选择语句【英文标题】:DB2 SQL: How do I add columns from the 'WHERE EXISTS' table to the select statement 【发布时间】:2021-01-24 01:35:13 【问题描述】:假设我有这个问题:
select A.ID_NUM,A.EFF_DT,B.STRT_DT,B.END_DT
FROM MEMBERSHIP A
WHERE EXISTS
(SELECT 1 FROM PLAN B
WHERE A.ID = B.ID)
如何将 PLAN 表 (B.STRT_DT,B.END_DT) 中的列添加到 select 语句中? 我收到错误:B.STRT_DT 在使用它的上下文中无效 SQLCODE = 206
【问题讨论】:
【参考方案1】:你使用JOIN
:
SELECT M.ID_NUM, M.EFF_DT, P.STRT_DT, P.END_DT
FROM MEMBERSHIP M JOIN
PLAN P
ON M.ID = P.ID;
【讨论】:
【参考方案2】:连接是最简单的方法,但如果您的 PLAN 表在其 ID 列上不是唯一的,则您需要在连接之前(或之后)添加 DISTINCT。
SELECT A.ID_NUM,A.EFF_DT,B.STRT_DT,B.END_DT
FROM MEMBERSHIP A
JOIN (SELECT DISTINCT ID FROM PLAN) B
ON ( A.ID = B.ID )
【讨论】:
以上是关于DB2 SQL:如何将“WHERE EXISTS”表中的列添加到选择语句的主要内容,如果未能解决你的问题,请参考以下文章