基于事件顺序的SQL动态列名称

时间:2016-12-02 20:16:44

标签: sql pivot common-table-expression dynamic-sql

我需要动态创建基于运行事件命名的列。如果我有这样的数据:

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))构建列字符串名称?然后,我如何将其保存到保持正确状态的列中。甚至是我需要的枢纽?

0 个答案:

没有答案