【发布时间】:2021-06-29 11:53:37
【问题描述】:
我有两张桌子,一张叫original_table,另一张叫table_with_additional_column。
table_with_additional_column 是original_table 的子集,但有一个名为sequenceNr 的附加列。我想合并这两个表,以便我可以从original_table 中获取所有行,并将sequenceNr 设置为NULL,其中其余列值与table_with_additional_column 中的值不匹配。我想替换 original_table 中的行,而不是仅插入 table_with_additional_column 中的行
这是一个例子:
original_table
| column_1 | column_2 | column_3 |
|---|---|---|
| aaa | bbb | ggg |
| ccc | ddd | hhh |
| eee | fff | iii |
table_with_additional_column
| column_1 | column_2 | column_3 | sequencenr |
|---|---|---|---|
| aaa | bbb | ggg | 1 |
| ccc | ddd | hhh | 2 |
合并后我想要什么:
| column_1 | column_2 | column_3 | sequencenr |
|---|---|---|---|
| aaa | bbb | ggg | 1 |
| ccc | ddd | hhh | 2 |
| eee | fff | iii | NULL |
这是我目前的查询:
SELECT
column_1, column_2, column_3, sequenceNr
FROM (
SELECT
table_A.*,
table_B.sequenceNr
FROM table_A, table_B
) AS table_with_additional_column
RIGHT JOIN original_table ON original_table.column_1 = table_with_additional_column.column_1
AND original_table.column_2 = table_with_additional_column.column_2
AND original_table.column_3 = table_with_additional_column.column_3
对于如何合并两个表的 SQL 查询,我将不胜感激。提前致谢。
【问题讨论】:
标签: sql