SQL Server交叉表应用示例
Posted 鸿达
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server交叉表应用示例相关的知识,希望对你有一定的参考价值。
说明
一、建立表
主要有三列
列:FeeDeptID(科室编号),ItemiD(项目编号),金额
FeeDeptID,ItemiD关联其他表
二、创建存储过程
Create PROCEDURE 存储过程1
@fromDate date,
@ToDate date,
@people varchar(8)
AS
Declare @s varchar(8000)
Set @s = \'\'
Select @s = @s +\',\'+B.ItemName+\'= sum(case itemid when \'\'\'+B.itemName+\'\'\' then 金额 else 0 end)\'
from Fee_DataUpload a,fee_items b where a.itemid=b.itemid and A.上传人=@people
and 日期 between @fromDate and @ToDate
group by B.itemName order by B.itemName
Exec (\'select A.FeeDeptID 科室编号,b.FeeDeptName 科室名称\'+
@s+
\',sum(金额) As 合计 from Fee_DataUpload a ,Fee_depts B where a.feedeptid=b.feedeptid \'+
\' group by A.FeeDeptID,b.FeeDeptName order by A.feedeptid,b.FeeDeptName \')
三、在应用程序中调用存储过程
语法:Exec 存储过程1 @fromDate=\'2023-01-01\', @ToDate=\'2023-01-01\', @people=\'tt\'
以上是关于SQL Server交叉表应用示例的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server:交叉应用 - 为 NULL 结果记录 0