【发布时间】:2020-04-11 08:01:42
【问题描述】:
我正在创建一个临时表,并希望遍历该临时表中的行,然后在另一个查询的 select 语句中使用这些值作为列名。
临时表
Reviewer | Status
---------------------------
Reviewer1 | Under Review
Reviewer2 | Approved
Reviewer3 | Denied
Reviewer4 | Under Review
期望的结果
Reviewer1 | Reviewer2 | Reviewer3 | Reviewer4
------------------------------------------------------------
Under Review | Approved | Denied | Under Review
我遵循了这个例子:Setting column values as column names in the SQL query result 并且可以使其与临时表中预定义的行数/值一起工作,但我将有未定义数量的审阅者,并且我无法使动态选择版本工作,因为 SQL 没有 Group_Contact 函数.
我一直坚持这一点,如果有任何建议,我将不胜感激。
【问题讨论】:
-
假设您链接到的文章正在使用 MySQL?
-
我使用的是microsoft sql server 2016,谢谢!
-
一种方法是通过动态 SQL 使用
PIVOT。 -
正如 BJones 评论的那样,
PIVOT... 当需求涉及转置时,我的第一直觉(“列变为行”,反之亦然)
标签: sql-server tsql sql-server-2016 dynamic-sql