admin

如何将2列或更多列合并为一列?

sql

对于SQL中的一项任务,我有一个真正的问题,那就是以最有效的方式将2列和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个要合并的注释列时。


阅读 199

收藏
2021-06-07

共1个答案

admin

试试这个查询

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
2021-06-07