【发布时间】:2016-12-02 20:16:44
【问题描述】:
我需要动态创建基于运行事件命名的列。如果我有这样的数据:
RunID TestID Status
----- ------ ------
1 200 Passed
2 200 Failed
3 300 Failed
4 400 Not Complete
5 400 Passed
6 400 Passed
我需要返回的是:
TestID Run1 Run2 Run3
------ ---- ---- ----
200 Passed Failed
300 Failed
400 Not Complete Passed Passed
我首先可以调用所有运行,但在动态运行中调整状态以使其自身对齐是我迷路的地方。我是否必须使用 CTE 来获取运行,然后使用一个来获取已调用 TestId 的最大计数,然后基于 1 到 max(count(TestID)) 构建列字符串名称?然后如何将其放入具有正确状态的列中。在我需要的地方也有一个支点吗?
【问题讨论】:
标签: sql pivot common-table-expression dynamic-sql