怎样用一个SQL语句实现合计功能?(100分)

  • 主题发起人 主题发起人 joinrry
  • 开始时间 开始时间
J

joinrry

Unregistered / Unconfirmed
GUEST, unregistred user!
我在编写统计功能的时候,想实现如下功能:
1、统计每个鸡场每个鸡苗品种养每只鸡所提供的工资成本额,
2、统计每个鸡场养每只鸡所提供的工资成本额(养很多不同品种鸡),
3、用一个SQL语句或其它简单方法
我编写了如下一段代码,但只能实现第一个功能,第二个功能不能实现,请教!
sql.add('select a.鸡场名称,a.鸡苗品种,sum(b.调出本品种鸡苗数) as 本品种总调出数,');
sql.add('round(sum(b.工资)/sum(b.调出本品种鸡苗数),4) as 本品种只工资');
sql.add(' from jcdm a,jccb b');
sql.add('where a.鸡场编号=b.鸡场编号 and');
sql.add(' b.结转年月>:month1 and b.结转年月<:month2');
sql.add('group by a.鸡场名称,a.鸡苗品种');
parambyname('month1').asdatetime:=DateTimePicker1.date;
parambyname('month2').asdatetime:=DateTimePicker2.date;
 
把"鸡苗品种"去掉不就可以的码?
 
我用你的试验过了,可以呀
第一个表的数据
鸡场编号 鸡场名称 鸡苗品种
---------- ---------- ----------
001 1号鸡场 1-1品种
002 2号鸡场 2-1品种
003 1号鸡场 1-2品种
004 1号鸡场 1-3品种
第二个表的数据
鸡场编号 工资 调出本品种鸡苗数
---------- ----------- -----------
001 1000 10
002 2000 24
003 3000 30
001 2000 100
004 1500 100
002 2000 40
001 5000 500

统计结果:

鸡场名称 鸡苗品种 本品种总调出数 本品种只工资
---------- ---------- ----------- -----------
1号鸡场 1-1品种 610 13
1号鸡场 1-2品种 30 100
1号鸡场 1-3品种 100 15
2号鸡场 2-1品种 64 62
是我的理解有误吗
 
dlnew is true
 
各位老兄可能都还没有理解我的意思,再说一下(一个简单例子):
(共3个鸡场,2个品种)
鸡场编号 调出品种 调出本品种鸡苗数
---------- ----------- -----------------
001 1 10
002 1 24
003 2 30
001 1 100
002 2 40
001 2 500

统计结果:

鸡场编号 鸡苗品种 本品种总调出数 鸡场总调出数(合计)
---------- ---------- ----------- -----------
001 1 110
001 2 500 610
002 1 24
002 2 40 64
 
你不是要求"工资成本额"吗?
请把问题写清楚!
 
按我后写的这个例子吧!
 
select 鸡场编号,鸡苗品种,sum(调出本品种鸡苗数) as 本品种总调出数,
from 表1
group by 鸡场名称,鸡苗品种
可以了
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部