小编典典

透视存储过程的结果吗?

sql

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

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

应该变成

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

我该怎么做呢 ?


阅读 165

收藏
2021-05-16

共1个答案

小编典典

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

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
2021-05-16