我正在尝试用在TYPE2中找到的值覆盖在TYPE1中找到的值。
我写了这个SQL来试用它,但是由于某种原因它没有更新:
select * from stuff
update stuff
set TYPE1 = TYPE2
where TYPE1 is null;
update stuff
set TYPE1 = TYPE2
where TYPE1 ='Blank';
http://www.sqlfiddle.com/#!3/a4733/17
为什么类型1中的值没有更新?
我正在尝试用在TYPE2中找到的值覆盖在TYPE1中找到的值。
我写了这个SQL来试用它,但是由于某种原因它没有更新:
select * from stuff
update stuff
set TYPE1 = TYPE2
where TYPE1 is null;
update stuff
set TYPE1 = TYPE2
where TYPE1 ='Blank';
http://www.sqlfiddle.com/#!3/a4733/17
为什么类型1中的值没有更新?
9条答案
按热度按时间k3fezbri1#
这对我有用
pbwdgjma2#
为了使“a”和“b”都能工作,必须定义这两个别名
c8ib6hqw3#
简单多了,至少在Oracle SQL上是这样,我不知道这是否也适用于其他方言。
gxwragnw4#
你把选择查询放在更新查询之前,所以你只看到初始数据。把
select * from stuff;
放在列表的末尾。e37o9pze5#
这个答案是关于从同一个表中另一列的一部分更新列的。
xdyibdwo6#
oipij1gg7#
您的select语句在update语句之前,请参阅Updated fiddle
s6fujrry8#
bis0qfac9#
如果需要对特定列进行操作:
update courses set hours = days * 5