透视存储过程的结果?

时间:2014-01-06 22:49:08

标签: sql sql-server sql-server-2005

我有一个总是返回一行的存储过程。我想将每个column_name及其对应的值转换为一行。示例 -

ID | Name | Address
-----------------------
1  | Jim  | Home

应该成为 -

ID      |  1
---------------------
Name    | Jim
Address | Home

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您需要将存储过程中的值插入(临时)表中,然后从那里取消。 Psuedocode如下:

CREATE TABLE #t (ID int, Name varchar(100), Address varchar(100))

INSERT INTO #t
EXEC stored_proc

SELECT ID = 'Name', [1] = Name
FROM #t
UNION ALL
SELECT ID = 'Address', [1] = Address
FROM #t

DROP TABLE #t