Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 左撇子连接_Sql_Join_Db2 - Fatal编程技术网

Sql 左撇子连接

Sql 左撇子连接,sql,join,db2,Sql,Join,Db2,假设我有以下查询联接: 439.C = 365.C 444.K = 365.K 444.K = T.K 439365和44是表,T是主查询中的内部select查询 我想创建所有这些内部联接中的外部联接。 我试着做一些这样的事情: 439 left outer join 365 on 439.C = 365.C 444 left outer join 365 on 444.K = 365.K left outter join T on 444.K = T.K 我正在使用DB2,解析器说36

假设我有以下查询联接:

439.C = 365.C
444.K = 365.K
444.K = T.K 
439365和44是表,T是主查询中的内部select查询

我想创建所有这些内部联接中的外部联接。 我试着做一些这样的事情:

439 left outer join 365 on 439.C = 365.C
444 left outer join 365 on 444.K = 365.K left outter join T on 444.K = T.K 
我正在使用DB2,解析器说365引用是模糊的,我对内部sql的T别名有问题


提前谢谢。

你能试试这样的吗

439 left outer join 365 on 439.C = 365.C
left outer join 444 on 365.K = 444.K left outer join T on 444.K = T.K 
您已经将365与439连接在一起,因此您只需要将444表与它们连接在一起,然后再与t表连接


改变你的第三个外部连接,你用字母
K
C
和数字写了出来,我最初认为这些是温度。为什么要用数字命名表,或者使用单列变量名?为什么这需要在“外部连接”中?特别是像这样将它们链接在一起,可以得到一些有趣的结果;通常,您确实希望左键联接到一个表,然后该表具有一个到“子”表的内部联接。多了解一些你的情况可能会有所帮助。你为什么要再次加入
T
——只需添加关系即可。