将一条记录转换为两列的形式

时间:2013-04-26 09:35:43

标签: sql sql-server

在我的旧存储过程中,以计数形式返回结果。它返回如下。结果是正确的但现在我希望这个行结果以表格的形式。 请仔细研究并帮助我。

行形式的结果:

SELECT 100 AS A ,200 AS B ,300 AS C

列形式的必填结果:

TextKey  |  TextValue
---------------------
   A           100
   B           200 
   C           300

先谢谢。

3 个答案:

答案 0 :(得分:3)

最简单的方法是使用UNION ALL

SELECT 'A' AS TextKey, 100 AS TextValue UNION ALL
SELECT 'B', 200 UNION ALL
SELECT 'C', 300 

答案 1 :(得分:2)

select TextKey, TextValue
from (
    SELECT 100 AS A ,200 AS B ,300 AS C
) t unpivot (TextValue for TextKey in ([A], [B], [C])) tp

答案 2 :(得分:1)

查询: 的 SQLFIDDLEExample

SELECT a.* 
FROM (VALUES ('A', 100), 
             ('B', 200), 
             ('C', 300)) as a(TextKey, TextValue)

结果:

| TEXTKEY | TEXTVALUE |
-----------------------
|       A |       100 |
|       B |       200 |
|       C |       300 |