【发布时间】:2016-12-23 14:01:36
【问题描述】:
我需要您的帮助来使用 PIVOT 函数 (MSSQL) 进行 T-SQL 查询 我有 3 张桌子:
项目:
Id | Name
1 | PE1XX
2 | PE2YZ
文件
Id | Name
1 | ARM
2 | LEX
3 | FSP
控制
Id | IdProject | IdFile| Result
1 | 1 | 1 | 100
2 | 1 | 2 | 50
3 | 1 | 3 | 0
4 | 2 | 2 | 75
我想看到这样的数据..
结果集
ProjectName | ARM | LEX | FSP | ...*
PE1XX | 100 | 50 | 0 | ...
PE2YZ | NULL | 75 | NULL | ...
今天我在我的代码中使用多个 foreach 生成了结果,但它的性能很昂贵。
Foreach(p in Project){
Foreach(f in File){
var result = getFirstControl(p.IdProject, f.IdFile);
...
}
}
我认为我们可以使用数据透视函数更快地完成它,但我在设置它时遇到了一些问题(文件列表可以修改)......也许我可以更轻松地做到这一点?
【问题讨论】:
标签: sql-server pivot pivot-table