我有一个总是返回一行的存储过程。我想将每个column_name及其对应的值转换为一行。示例 -
ID | Name | Address
-----------------------
1 | Jim | Home
应该成为 -
ID | 1
---------------------
Name | Jim
Address | Home
我该怎么做?
答案 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