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