如何将两列或多列合并为一列?
How to merge 2 or more columns into one?
我在 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
现在我通过插入到 table 中手动执行此操作,其中我有 id 和评论列,我必须从主要 table 中整理数据。这真的很耗时,尤其是当我至少有 8 个评论列要合并时。
试试这个查询
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
我在 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
现在我通过插入到 table 中手动执行此操作,其中我有 id 和评论列,我必须从主要 table 中整理数据。这真的很耗时,尤其是当我至少有 8 个评论列要合并时。
试试这个查询
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