【发布时间】:2020-03-03 00:11:05
【问题描述】:
我有一个 DB2 数据库,我必须连接三个表。我想加入前两个表,在加入前两个表后,我想将加入的表加入另一个第三个表。我尝试使用左连接,但找不到预期的结果。我尝试了以下方法:
select AFJKAR as "ELR_Elig_Redirect_SchdID",
AFEZAM as "Priority",
AFTSAS as "ELC_Status",
AFT7CE as "ELC_From_Date",
AFT8CE as "ELC_Thru_Date",
AFTTAS as "ELC_Redirect_Action",
AFJLAR as "GPI_List",
AIZAHA as "GPI_List_ID",
AILUIG as "GPI_Number",
AICXHG as "GPI_From_Date",
AICYHG as "GPI_Thru_Date",
SUEFC4 as "GPI_ID",
SUB4T3 as "Drug_Name"
from CLMPRDFIL.RCELCP as RCE
left join CLMPRDFIL.RCGP2P as RCG on RCE.AFJLAR = RCG.AIZAHA
left join CLMPRDFIL.RCGPIP as RCGP on RCG.AIZAHA = RCGP.SUEFC4;
基本上,我想先加入 RCE 和 RCGP2P 表。加入后,我想通过RCGPIP加入。
【问题讨论】:
-
您的代码应该可以工作。请提供样本数据和期望的结果。解释你的期望。
-
没有first。Join是一个运算符,连接两个表,或者表表达式。导致另一个表表达式。
-
"我想加入前两个表..." -- 正如@wildplasser 所说,SQL 是一种声明性 语言,而不是命令性一。您指定您需要的内容,然后 SQL 引擎生成它。您可能对执行计划有一定的控制权,但最终引擎会决定如何运行查询。