基于两列中的相同值更新SQL表中的值

时间:2015-03-30 17:04:47

标签: sql sql-server sql-server-2012 sql-update

我想更新表中的值,对于两列中的任何数据集,第三列是相同的。例如

Column1|  Column2|  Column3|
       |         |         |
      1|        2|        3|
      2|        1|        4|
      5|        6|        7|

查询后,结果输出应为

Column1|  Column2|  Column3|
       |         |         |
      1|        2|        3|
      2|        1|        3|
      5|        6|        7|     

,如第1列和第2列中的值(1,2)和(2,1),列3应具有相同的值

1 个答案:

答案 0 :(得分:1)

使用自我加入:

UPDATE your_table t1 -- Your table goes here
SET [Column3] = rand()
FROM your_table t2 -- and here
WHERE (t1.[Column1] = t2.[Column1] AND t1.[Column2] = t2.[Column2]) OR
    (t1.[Column1] = t2.[Column2] AND t1.[Column2] = t2.[Column1])