xri*_*s23 1 sql t-sql sql-server union union-all
我有两张我想合并的表。我只需要保留两个表之一的重复项。我试图找到它,但在任何地方都找不到。希望有人能帮忙。
例如:表_1:
| ID | 产品 | 数量 |
|---|---|---|
| 1 | 一种 | 10 |
| 2 | 乙 | 10 |
| 3 | C | 10 |
表_2:
| ID | 产品 | 数量 |
|---|---|---|
| 3 | C | 9 |
| 4 | 一种 | 100 |
| 5 | 乙 | 100 |
想要的结果:
| ID | 产品 | 数量 |
|---|---|---|
| 1 | 一种 | 10 |
| 2 | 乙 | 10 |
| 3 | C | 9 |
| 4 | 一种 | 100 |
| 5 | 乙 | 100 |
所以总是使用 table_2 中的重复项。在此示例中,ID 3 是重复的,因此使用数量为 9 的 table_2 的副本。
如何用 T-SQL 实现这一点?我使用了下面的代码:
Select * from Table_1 where Table_1.id != Table_2.id
Union All
Select * from Table_2
Run Code Online (Sandbox Code Playgroud)
但随后我收到错误消息:“无法绑定多部分标识符“Table_2.ID”。
使用not exists:
Select t1.*
from Table_1 t1
where not exists (select 1 from table_2 t2 where t2.id = t1.id)
Union All
Select t2.*
from Table_2 t2;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |