sql - 如何先加入两个表然后加入另一个表
问题描述
我有一个 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加入。
解决方案
为此使用相应的优化配置文件/指南。
优化配置文件和指南。
您可以在那里指定所需的连接顺序,如果您认为使用特定的连接顺序可以获得更好的性能。
请注意,您应该首先尝试收集有关这些表的统计信息,以使 Db2 优化器使用正确的连接顺序。例如,尝试使用它们的连接键在前 2 个表上创建一个统计视图并收集关于它的统计信息。之后查看原始查询的访问计划以检查是否获得所需的连接顺序。
推荐阅读
- formatting - 按列填充表格
- php - 如何使用 PHP 中的 guzzle 检查 HTML 中是否存在元素
- android - 当我尝试运行我的应用程序时,Android 资源链接失败
- python - 如何在搜索时高效的python中构建一个元组列表类?
- javascript - SweetAlert 中未显示按钮文本
- azure-active-directory - 使用 PATCH graph.microsoft.com API 向应用程序 Azure AD 添加 API 权限
- azure - 在配置一个模块的多个资源时省略一些变量
- python - 如何在 for 循环中使用 fillna(inplace=True)?
- autodesk-forge - 带有一些标准工具的垂直对齐工具栏
- python - 如何将glcm分类为cnn