【发布时间】:2015-11-18 13:41:24
【问题描述】:
我有一个存储过程,它连接多个表以生成一个大型结果集,然后将其返回到我的应用程序。应用程序依次循环遍历结果并组合特定 ID 上的行,并选择每行的数据以包含在新对象中。这可能是最容易用一个例子来解释的:
Inspection, Desc, Value
1, Description1, 3
1, Description2, 2
1, Description3, 5
这是在代码中变成的
Inspection, Description1, Description2, Description3
1, 3, 2, 5
重点是每个检验项目有一行,项目描述作为标题,值作为检验行和标题的单元格值。然后将其导出到 Excel。
问题是:我如何在 SQL Server 中执行此操作,例如扩展我的 SP 以返回更少但“更宽”的行和更多列?
另一个复杂情况是,一项检查可能包含另一项缺少的行,在这种情况下,解决方案是添加一个空值或“-”。
附:这是使用 Sql Server 2012。
【问题讨论】:
-
使用
pivot,它会完成这项工作
标签: c# sql sql-server excel sql-server-2012