将第二列更新为一列

时间:2015-01-19 08:29:22

标签: sql-server

我想将多个列更新为另一个表的一列: 我正在使用MS SQl Server

表1:

Num | ColumnA | ColumnB  |
--------------------------
1   | Peter   | Mueller  |
1   | Jonny   | Corleone |
2   | John    | Cohn     |
1   | Sarah   | Wood     |

现在我想将ColumnA和ColumnB更新为Table2的ColumA,如下所示:

表2:

Num | ColumnC                                      |
----------------------------------------------------
1   | Peter, Mueller, Jonny, Corleone, Sarah, Wood |
2   | John, Cohn                                   |

1 个答案:

答案 0 :(得分:2)

在单个列中存储多个值不是一个好习惯。如果你需要这样做,那么试试这个:

SELECT adress,
       num,
       Stuff((SELECT ',' + ColumnA + ',' + ColumnB
              FROM   table1 a
              WHERE  a.Num = b.Num
              FOR xml path('')), 1, 1, '')
FROM   table1 b
GROUP  BY num