还是那个问题 查不出来~

kuuuu 2005-01-05 10:07:29
还有个问题 麻烦大家看下~~!
是个工资表的
员工号 月份 年份 部门号 应发金额
001 6 2004 001 2000
001 7 2004 001 1800
003 6 2004 001 1600
004 8 2004 002 2100
请问这个怎么用查询语句生成报表
部门名 1月 2月 3月 4月.....12月 小计
aaa 8000 4000 6000 5000 12000 80000

谢谢麻烦大家也看看哦 !我现在还搞不懂 怎么办那个6月 7月字段值变成 要查询表的列~~
我去查了下交叉表 还是搞不懂 麻烦写出来 我研究哇 谢谢!!!
...全文
89 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuuuu 2005-01-06
  • 打赏
  • 举报
回复
恩懂了 呵呵 谢谢哇 !我改过来了!
如果要把部门号 显示成部门名 是不是要 join 部门表哦?
NinGoo 2005-01-06
  • 打赏
  • 举报
回复
月份='1月'
根据你数据库里的资料

应该是 月份='1' 才对啊
kuuuu 2005-01-05
  • 打赏
  • 举报
回复
我自己写了个看下对不对
select 部门号,
'1月'=sum(case
when 月份='1月' then 应发金额 else 0 end),
'2月'=sum(case
when 月份='2月' then 应发金额 else 0 end),
'3月'=sum(case
when 月份='3月' then 应发金额 else 0 end),
'4月'=sum(case
when 月份='4月' then 应发金额 else 0 end),
'5月'=sum(case
when 月份='5月' then 应发金额 else 0 end),
'6月'=sum(case
when 月份='6月' then 应发金额 else 0 end),
'7月'=sum(case
when 月份='7月' then 应发金额 else 0 end),
'8月'=sum(case
when 月份='8月' then 应发金额 else 0 end),
'9月'=sum(case
when 月份='9月' then 应发金额 else 0 end),
'10月'=sum(case
when 月份='10月' then 应发金额 else 0 end),
'11月'=sum(case
when 月份='11月' then 应发金额 else 0 end),
'12月'=sum(case
when 月份='12月' then 应发金额 else 0 end),
sum(应发金额) as 小计

from 工资 group by 部门号

我试了最后的小记是对的 但是1月到12月下面 全部不显示金额 都是 0
看 一下哪里错了哦
Blue55 2005-01-05
  • 打赏
  • 举报
回复
种类指的是什么啊?
NinGoo 2005-01-05
  • 打赏
  • 举报
回复
呵呵,这是交叉表,用的动态sql,慢慢看:)

另外FAQ里有很多这样的例子,你搜行列转换或者交叉表
kuuuu 2005-01-05
  • 打赏
  • 举报
回复
看了半天还是看不懂啊 有点晕了~~~
NinGoo 2005-01-05
  • 打赏
  • 举报
回复
t1是我顺便写的一个table名,就是你的工资表啊
kuuuu 2005-01-05
  • 打赏
  • 举报
回复
恩 部门名是根据部门表得的 我请问下那个t1 是个什么表哦?
NinGoo 2005-01-05
  • 打赏
  • 举报
回复
declare @sql varchar(2000)

set @sql = 'select 部门号'
select @sql = @sql + ',sum(case 月份 when '''+月份+''' then 应发金额 end) ['+ 月份+']'
from (select distinct 种类 from t1) as a
set @sql=@sql+',sum(应发金额) as 小计'
select @sql = @sql+' from t1 group by 部门号'
exec(@sql)

要获得部门名需要关联其他的table吧

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧