DB2 - 合并 - 加入
DB2 - coalesce - join
给定 3 个表。如果有两种情况,我该如何选择正确的连接。
表 1
Article
CustomerID-extern
CustomerID-intern
table
A13590
chair
B23877
表 2
CustomerID-extern
CustomerID-intern
A13590
BX13590
表 3
CustomerID-intern
Customername
CustomerAddress
BX13590
Microsoft
SiliconValley
B23877
Amazon
New York
在结果中,我需要 CustomerID-intern 及其分配的地址。
Table1 只能填写 1 个字段 CustomerID-extern 或 CustomerID-intern.
Article
CustomerID-intern
Customername
CustomerAddress
table
BX13590
Microsoft
SiliconValley
chair
B23877
Amazon
New York
谢谢。
您可以使用两个左外连接来匹配第三个 table 中的行,根据第二个 table 中的直接代码或翻译代码。例如:
select a.Article, c.*
from table1 a
left join table2 b on a.CustomerID_extern = b.CustomerID_extern
left join table2 c on c.CustomerID_intern = a.CustomerID_intern
or c.CustomerID_intern = b.CustomerID_intern
给定 3 个表。如果有两种情况,我该如何选择正确的连接。
表 1
Article | CustomerID-extern | CustomerID-intern |
---|---|---|
table | A13590 | |
chair | B23877 |
表 2
CustomerID-extern | CustomerID-intern |
---|---|
A13590 | BX13590 |
表 3
CustomerID-intern | Customername | CustomerAddress |
---|---|---|
BX13590 | Microsoft | SiliconValley |
B23877 | Amazon | New York |
在结果中,我需要 CustomerID-intern 及其分配的地址。 Table1 只能填写 1 个字段 CustomerID-extern 或 CustomerID-intern.
Article | CustomerID-intern | Customername | CustomerAddress |
---|---|---|---|
table | BX13590 | Microsoft | SiliconValley |
chair | B23877 | Amazon | New York |
谢谢。
您可以使用两个左外连接来匹配第三个 table 中的行,根据第二个 table 中的直接代码或翻译代码。例如:
select a.Article, c.*
from table1 a
left join table2 b on a.CustomerID_extern = b.CustomerID_extern
left join table2 c on c.CustomerID_intern = a.CustomerID_intern
or c.CustomerID_intern = b.CustomerID_intern