获取同一1列表中不同列的值

时间:2015-07-06 09:01:09

标签: sql sql-server database sql-server-2008

我正在研究Sql Server 2008 R2。 现在我想要一个列具有相同表的3个不同列的结果.. 让我用图解释。

表:mainTable

Id    Column1     Column2     Column3
-------------------------------------
 1    urla        urlb         urlc
 2    urld        urle         urlf
 3    urlg        urlh         urli

现在我想要一列

表名:ResultTable

Id    ColumnResult  
-------------
 1    urla 
 2    urlb
 3    urlc
 4    urld
 5    urle
 6    urlf
 7    urlg
 8    urlh
 9    urli

先谢谢。 萨希尔帕特尔

1 个答案:

答案 0 :(得分:1)

您可以使用UNION ALL

SELECT
    Id = ROW_NUMBER() OVER(ORDER BY ColumnResult),
    Column1
FROM (
    SELECT Id, Column1 AS ColumnResult FROM mainTable UNION ALL
    SELECT Id, Column2 FROM mainTable UNION ALL
    SELECT Id, Column3 FROM mainTable
)t