[求助]分类汇总求和的 sql 语句?

cccp203 2003-05-17 07:27:39
[求助]分类汇总求和的 sql 语句?
sql 7.
一个表有如下字段:code ,name,gzx1,gzx2,gzx3, year, mouth
0001, 张三, 100,100,100,2002,01
.
.
0100, 钱五, 100,100,100,2002,01
.
.
2000, 张三, 200,200,200,2003,12

存放的是全公司的工资明细,请问 统计 每人的全年各项工资总额 如何写?
就是 要这样的结果:
0001,张三,1200,1200,1200,2002,01
...全文
207 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbwhwanghua 2003-05-25
  • 打赏
  • 举报
回复
是啊,两表连接起来不就可以了!

select a.rybm,a.xm,gzx1=sum(a.gzx1),gzx2=sum(a.gzx2),gzx3=sum(a.gzx3),a.gzn,b.保险编号 from a ,b where a.rybm =b.rybm

group by a.rybm,a.xm,a.gzn,b.保险编号
cccp203 2003-05-23
  • 打赏
  • 举报
回复
原来需要结贴,我会给分了。
继续求解。
skystar2001 2003-05-23
  • 打赏
  • 举报
回复
那就把两个表连接起来呀~~~
用join。。。。。on语句~~~
cccp203 2003-05-23
  • 打赏
  • 举报
回复
对不起,可能是我没说清楚。这是两个表,不是在一个表中的。以code(人员编码)关联的.
表a 有如下字段:code ,xm, gzx1, gzx2, gzx3, ……, gzn, gzy
0001, 张三, 100, 100, 100, ……, 2002, 01
.
.
0100, 钱五, 100,100,100,2002,01
.
.
2000, 张三, 200,200,200,2003,12

存放的是全公司的工资明细, 统计 每人的各项全年工资总额 这样写的:
select rybm,xm,gzx1=sum(gzx1),gzx2=sum(gzx2),gzx3=sum(gzx3),gzn
得到: 0100,张三,1200, 1200, 1200, 2002


现在的问题是: 另有一个人员基本信息的表b:,里面有保险编号等基本信息。
rybm ,xm, 保险编号,其他……
0001 ,张三,12345678,

要求 在上一个表a 统计 每人的全年各项工资总额 后, 还要结合表b 给出每个人的保险编号,怎么写?
就是说要这样的结果:
0001,张三,1200,1200,1200,2002,12345678。
pengdali 2003-05-23
  • 打赏
  • 举报
回复
select code,name,sum(gzx1) gzx1,sum(gzx2) gzx2,sum(gzx3) gzx3,min(month) [month] ,保险编号 from 你的表 where year=2002 group by code,name,保险编号
pengdali 2003-05-23
  • 打赏
  • 举报
回复
select code,name,sum(gzx1) gzx1,sum(gzx2) gzx2,sum(gzx3) gzx3,min(month) [month] ,保险编号from 你的表 where year=2002 group by code,name,保险编号
psxfghost 2003-05-23
  • 打赏
  • 举报
回复
select code,name,sum(gzx1) as gzx1,sum(gzx2) as gzx2,sum(gzx3) as gzx3,min(month) as [month] where year=2002 group by code,name
caiyunxia 2003-05-23
  • 打赏
  • 举报
回复

select code,name,sum(gzx1) gzx1,sum(gzx2) gzx2,sum(gzx3) gzx3, year ,保险编号
where year=2002 group by code,name,year ,保险编号
cccp203 2003-05-22
  • 打赏
  • 举报
回复
谢谢以上朋友的回复。hbwhwanghua(mikel),bipeng() 的我同意,大力的我没看懂。
现在的问题是: 另有一个人员基本信息的表,里面有保险编号等基本信息。
rybm ,xm, 保险编号,其他……
0001 ,张三,12345678,

要求 在上一个表 统计 每人的全年各项工资总额 后 还要 给出每个人的保险编号,怎么写?
就是说要这样的结果:
0001,张三,1200,1200,1200,2002,12345678。
另 我要给分 需要如何做?
:)


pengdali 2003-05-17
  • 打赏
  • 举报
回复
select code,name,sum(gzx1) gzx1,sum(gzx2) gzx2,sum(gzx3) gzx3,min(month) [month] where year=2002 group by code,name
bipeng 2003-05-17
  • 打赏
  • 举报
回复
code 是主码吧
SELECT code ,name,sun(gzx1),sum(gzx2),sum(gzx3),year
FROM tablename
GROUP BYcode
HAVING year=2003
syszj 2003-05-17
  • 打赏
  • 举报
回复
select code,name,sum(gzx1+gzx2+gzx3),year from table
group by code,name,year
having year like currentyear
hbwhwanghua 2003-05-17
  • 打赏
  • 举报
回复
select code,name,gzx1= sum(gzx1),gzx2= sum(gzx2),gzx3= sum(gzx3),year
from tablename
group by code,name,year
不过,你说的结果好像不对吧,既然是全年的总额,怎么还会要月份01呢!
0001,张三,1200,1200,1200,2002,01

34,575

社区成员

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

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