【发布时间】:2016-05-18 15:23:46
【问题描述】:
我有两张表如下:
表格
k | 1 | 2
--------------------
a | mango | xx
b | orange| xx
c | xx | apple
d | xx | banana
a | xx | mango
表格b
k | 1 | 2
--------------------
a | |
b | |
c | |
d | |
如何从tablea 更新tableb 以便得到以下结果?
表b
k | 1 | 2
--------------------
a | mango | mango
b | orange| xx
c | xx | apple
d | xx | banana
如果我尝试使用如下更新语句
update tableb
set 1 = x.1,
2 = x.2
from
(
select * from tablea
) x
where tablea.k = x.k
如果k 重复,我可以使用更新语句忽略xx 吗?
谢谢。
【问题讨论】:
-
如何确定 row1 (
k='a') 将是mango, mango而不是xx,xx或mango,xx? -
@PhamX.Bach 我在跳
xx意思是null?但是,是的,我们需要更多信息。 -
@JuanCarlosOropeza 如果
xx表示null那么我会问tablea是否还有另一行a | orange | banana那么tableb应该是什么。Taz你的问题需要更多关于tablea中数据的逻辑以及如何更新tableb -
hi 'xx' 只是两个字符(类似于 'N/A')。在tablea中,背后有一个很大的后端计算,最终只给我带来了这5行。我不会得到像'a |橙色 |香蕉'