【发布时间】:2017-07-08 13:45:15
【问题描述】:
我有一个 c# 网页,我正在为数据库使用 SQL
我需要将表格中的数据显示到网格视图中
SQL : 我有一个如下表
Exec_Date Plat Pass Fail
----------------------------------------------------------------
2017-02-19 12:32:43.570 MSSQL 10 12
2017-02-19 12:32:43.570 MSSQL 10 12
2017-02-18 12:32:43.570 Sybase 10 12
2017-02-18 12:32:43.570 Oracle 10 12
我想将表格转换为自定义格式以进行演示
Status 18/02 19/02
-------------------------
Pass 20 20
Fail 24 24
以上可以由 Pivot 完成吗?如果是这样,任何人都可以对此提出一些想法吗?
到目前为止,我已经尝试过以下方法,但 @Names 没有解析查询中的变量值
create table #TempTable
(Exec_Date varchar(max),
Pass int,
Ref_Status varchar(max)
)
Insert into #TempTable
select cast(Exec_Date as DATE) as Date,SUM(Pass) as Pass,'PASS' from F_Exec where cast(Exec_Date as DATE) >= '2017-02-17' and cast(Exec_Date as DATE) <= '2017-02-20' group by Exec_Date,Pass
DECLARE @Names varchar(max)
SELECT @Names = COALESCE(@Names + '],[', '[') + Exec_Date FROM #TempTable
select @Names=@Names+']'
Select * from #TempTable pivot
(SUM(Pass) for Exec_Date IN (@Names) )as PivotTable
变量@Names 不被视为变量。如果我手动替换变量中的结果值,它会起作用
【问题讨论】:
-
您能否提供更多关于您在表示层中使用了哪些技术以及您使用什么语言来映射数据库数据以查看的信息。
-
已更新。请查收
标签: c# sql sql-server gridview pivot-table