根据SQL中相同表的第3列将一列替换为另一列

时间:2013-07-27 04:26:03

标签: java sql spring-mvc

我有一个表,对于一列表,我需要将null的值替换为另一列中的值,而不是基于与同一表的另一列匹配的值。

表示我正在使用主键t1

c1
  c1       c2         c3
--------------------------
1          a           null
23         b           null
2          c             1

所以我希望我的结果为:

  c1         c2            c3
------------------------------
1             a           null
23            b           null
2             c             a   ---->(means the  1 in column c3 is replaced by column c2's 
                                       value whose c1's value is 1)

2 个答案:

答案 0 :(得分:1)

你走了:

update t1 set y.c3 = x.c2
from t1 x inner join t1 y on x.c1 = y.c3;

答案 1 :(得分:1)

试试这个:

SELECT t.c1,t.c2,(SELECT a.c2 FROM t1 a WHERE a.c1=t.c3) FROM t1 t