报表统计

thisisxutao 2011-07-17 10:01:54
有2表:
单位信息表A(A1:单位编码;A2:单位名称),结构如下:
A1------------A2
1001--------单位1
1002--------单位2
1003--------单位3
1004--------单位4

工资发放表B(B1单位编码;B2统发编码;B3个人编码;B4姓名;B5应发;B6实发;B7:发放月份),
结构如下:
B1-----B2----B3---------B4-----B5------B6------B7
1001--201---11111111---张三---800.00--780.00--2011-5
1001--201---11111111---张三---800.00--780.00--2011-6
1001--301---11111111---张三---800.00--780.00--2011-7
--------------------------------------------------------
要得到如下报表,怎么做?

单位名称..统发编码...实发合计....应发合计
...........201........780.00........800.00
单位1......301........780.00........800.00
单位2... ..201........900.00........1200.00
.................................

---------------------------------------------
有些单位一个统发编码,有的多个。这种SQL语句怎么写。谢谢





...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinoalex 2011-07-17
  • 打赏
  • 举报
回复
分月的:

SELECT A2, B2, BB5, BB6, B7 FROM A
INNER JOIN (SELECT B1,B2,SUM(B5) BB5,SUM(B6) BB6,B7 FROM B GROUP BY B1,B2,B7) BB ON
A.A1 = BB.B1

不分月的:

SELECT A2, B2, BB5, BB6 FROM A
INNER JOIN (SELECT B1,B2,SUM(B5) BB5,SUM(B6) BB6 FROM B GROUP BY B1,B2) BB ON
A.A1 = BB.B1
shijies 2011-07-17
  • 打赏
  • 举报
回复
连接两个表查询好象也行。
shijies 2011-07-17
  • 打赏
  • 举报
回复
建立视图。
thisisxutao 2011-07-17
  • 打赏
  • 举报
回复
周末没人?
山东蓝鸟贵薪 2011-07-17
  • 打赏
  • 举报
回复
可能是数据库中那设置有问题
thisisxutao 2011-07-17
  • 打赏
  • 举报
回复
谢谢dinoalex
但是
SELECT A.A2, B.B2, B.B5, B.B6, B.B7
FROM A INNER JOIN
(SELECT B1, B2, SUM(B5) AS B5, SUM(B6) AS B6, B7
FROM B AS BB WHERE (B7 = '2011-05')
GROUP BY B1, B2, B7) AS B ON A.A1 = B.B1

查询出来统发编号B2,发放月份B7 为“<不支持的数据类型>”

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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