在我的旧存储过程结果以计数形式返回。它返回如下。结果是正确的,但现在我想要这个行结果的表格形式。 请仔细检查并帮助我。将一条记录转换成两列的形式
结果中排的形式:在列的形式
SELECT 100 AS A ,200 AS B ,300 AS C
要求的结果:
TextKey | TextValue
---------------------
A 100
B 200
C 300
在此先感谢。
在我的旧存储过程结果以计数形式返回。它返回如下。结果是正确的,但现在我想要这个行结果的表格形式。 请仔细检查并帮助我。将一条记录转换成两列的形式
结果中排的形式:在列的形式
SELECT 100 AS A ,200 AS B ,300 AS C
要求的结果:
TextKey | TextValue
---------------------
A 100
B 200
C 300
在此先感谢。
最简单的办法是使用一个UNION ALL
SELECT 'A' AS TextKey, 100 AS TextValue UNION ALL
SELECT 'B', 200 UNION ALL
SELECT 'C', 300
查询: SQLFIDDLEExample
SELECT a.*
FROM (VALUES ('A', 100),
('B', 200),
('C', 300)) as a(TextKey, TextValue)
结果:
| TEXTKEY | TEXTVALUE |
-----------------------
| A | 100 |
| B | 200 |
| C | 300 |
+1如果OP使用SQL Server 2008或更高版本,这将是最容易调整的附加元素。 – 2013-04-27 07:26:18
@muhmud + 1和Lieven Keersmaekers +1不同答案。但UNION ALL清晰,快速且易于使用... – andy 2013-04-26 09:54:39
谢谢,真的这是简单的答案。 – Anvesh 2013-04-26 10:06:26