2

我在 SQL 中的一项任务中遇到了一个真正的问题,即以最有效的方式将 2 列或更多列中的数据合并到 1 列中。

id   column1   column2  column3 
1    ok                    notOK
2    
3    abraka     dabrra
4    miew                    haf

我需要像这样将 3 条评论合并到 1 条评论栏中

id   comments
1    ok                    
1    notOK
2    
3    abraka     
3    dabrra
4    miew                    
4 haf

现在我通过插入到我有 id 和 comments 列的表中手动完成,我必须从主表中整理数据。这真的很耗时,尤其是当我至少有 8 个要合并的评论列时。

4

1 回答 1

4

试试这个查询

Select Id, Comments 
From 
(
    Select Id, Column1 Comments From MyTable Where Column1 Is Not Null
    Union All
    Select Id, Column2 Comments From MyTable Where Column2 Is Not Null
    Union All
    Select Id, Column3 Comments From MyTable Where Column3 Is Not Null
) DerivedTable
Order by Id
于 2015-06-23T18:49:30.563 回答