我需要连接到一个表,如果没有匹配的连接到另一个表。
主表- A
| 身份证|代码|数据ID|
| - ------|- ------|- ------|
| 1个|种皮|一百二十三|
| 第二章|测试b|四百五十六|
表- B
| 伊德布|代码|数据ID|
| - ------|- ------|- ------|
| 二十二|种皮|一百二十三|
表- C
| 伊德布|代码|数据ID|
| - ------|- ------|- ------|
| 三十三|测试b|四百五十六|
在上面的示例数据中,我需要结果集为:
| 身份证|代码|数据ID|伊德布|
| - ------|- ------|- ------|- ------|
| 1个|种皮|一百二十三|二十二|
| 第二章|测试b|四百五十六|三十三|
我试过将表A左连接到表B。这给了我第二条记录的空DataId-这是可以理解的。我可以对表C再做一次左连接。这是正确的方法吗?或者连接到一个表,如果没有匹配,连接到另一个表可行吗?
2条答案
按热度按时间o0lyfsai1#
我在两个表和
coalesce
列上都保留了join:gr8qqesn2#
如果您想返回匹配记录,可以使用
INNER JOIN
SQL语句,它将动态查找给定表之间的匹配行,并返回匹配记录,如以下代码和平: