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

如何在 SQL Server 的交叉应用联接中指定列名

将 Access 交叉表查询转换为 SQL Server

SQL Server-交叉联接内部联接基础回顾

SQL Server:交叉引用一个表中的多个列与另一个表中的多个列

详解SQL Server连接(内连接外连接交叉连接)