会员名称: 登录密码: (找回密码) 登录 会员注册

分类

问题
上个主题 下个主题
主题:如何再加一条合计,代码如何写``哪位高手指点下
avatar
kingdee04
IT 行业
Ta擅长:
本周回答(0),本月回答(0)
发贴时间:2007-4-5 10:42:15   已到期,未完成 2007-4-30 11:38:47
赠分:10      回答:9   已经到期    
select 产品型号,合格数,一次交验合格率,加工数量,交验数,过程废品数,终验废品数,
返工数,
过程废品率=case when 加工数量 <> 0 then 过程废品数/加工数量 else 0 end,终验废品率=case when 加工数量 <> 0 then 终验废品数/交验数 else 0 end,
返工率=返工数/交验数,总不合格率=case when 加工数量 <> 0 then (过程废品数+终验废品数)/加工数量 else 0 end,
差额数= 交验数+isnull(过程废品数,0)-isnull(加工数量,0),卡片数 FROM
(select
([基础资料主表].[FShortNumber]) as 产品型号,
sum([采购、工序、产品、其他、委外加工、委外工序检验单].[FPassQty]) as 合格数,
一次交验合格率=sum([采购、工序、产品、其他、委外加工、委外工序检验单].[FPassQty])/sum([采购、工序、产品、其他、委外加工、委外工序检验单].[FCheckQty]),
sum([采购、工序、产品、其他、委外加工、委外工序检验单].[FCheckQty]) as 交验数,
sum([采购、工序、产品、其他、委外加工、委外工序检验单].[FForOpScrapQty]) + sum([采购、工序、产品、其他、委外加工、委外工序检验单].[FForMatScrapQty]) as 终验废品数,
sum([采购、工序、产品、其他、委外加工、委外工序检验单].[FHeadSelfT1443]) as 返工数,
返工率=sum([采购、工序、产品、其他、委外加工、委外工序检验单].[FHeadSelfT1443]) / sum([采购、工序、产品、其他、委外加工、委外工序检验单].[FCheckQty]),
count([基础资料主表].[FShortNumber]) as 卡片数
FROM
([ICQCBill] as [采购、工序、产品、其他、委外加工、委外工序检验单] inner join [t_Item] as [基础资料主表] on [采购、工序、产品、其他、委外加工、委外工序检验单].[FItemID]=[基础资料主表].[FItemID])
INNER JOIN [t_User] as [系统用户信息表] ON [采购、工序、产品、其他、委外加工、委外工序检验单].[FBillerID]=[系统用户信息表].[FUserID]

WHERE
[采购、工序、产品、其他、委外加工、委外工序检验单].FTranType = 713 and
[采购、工序、产品、其他、委外加工、委外工序检验单].[FDate]>={d '********' }
AND [采购、工序、产品、其他、委外加工、委外工序检验单].[FDate] AND [采购、工序、产品、其他、委外加工、委外工序检验单].[FNote]='1'
AND [基础资料主表].[FName]='换向器'
and [采购、工序、产品、其他、委外加工、委外工序检验单].[FBillerID]='16443'
GROUP BY [基础资料主表].[FShortNumber] ) a
left join
(select fshortnumber,加工数量=sum(加工数量),过程废品数=sum(过程) from
(select fshortnumber,fopermoveno,过程=sum(FqtyForItem)+sum(FQtyscrap),
加工数量=case when fopermoveno not like '%-%' then max(SHProcRpt.Fqtyfinish) else 0 end

from
ICQCBill left join SHProcRptmain on FHeadSelfT1442 = fopermoveno
left join SHProcRpt on SHProcRpt.FinterID = SHProcRptMain.FInterID
left join [t_Item] on ICQCBill.FItemID = [t_Item].FItemID
WHERE
ICQCBill.[FDate]>={d '********' } and
ICQCBill.[FDate] ICQCBill.[FNote]='1' and
ICQCBill.[FBillerID]='16443'
group by fshortnumber,fopermoveno) bb
group by fshortnumber ) b
on a. 产品型号 = b.[FShortNumber]
回答
avatar
chengliangyong
IT 行业
Ta擅长:
金蝶K/3(4),生产与运营(4) 本周回答(0),本月回答(0)
回答时间:2007-4-5 16:30:51
问题都不说清楚,什么合计????????????
 
avatar
kingdee04
IT 行业
Ta擅长:
本周回答(0),本月回答(0)
回答时间:2007-4-6 15:08:49
就是把所有的东西都统计起来,合格数,一次交验合格率,加工数量等等这些有个合计。
合格数 一次交验合格率 加工数量
2 4 5
3 6 8
合计 5 10 13
就像最后一排这样
本来找上面的语句是没有合计这一行
现在需要各位大大们帮我修改下上面的语句
出现合计这一行
 
avatar
chengliangyong
IT 行业
Ta擅长:
金蝶K/3(4),生产与运营(4) 本周回答(0),本月回答(0)
回答时间:2007-4-6 17:09:55
你这个实际上就是列合并,不太好实现.你看看万能报表行不行.
 
avatar
kingdee04
IT 行业
Ta擅长:
本周回答(0),本月回答(0)
回答时间:2007-4-8 10:14:10
好象不行``
我在GROUP BY后面加了WITH ROLLUP
这样有些是能加起来
但是还是有很多是不能相加的
各位大哥们,有什么方法可以解决下小弟的难题吗?
 
avatar
weihongkun
IT 行业
Ta擅长:
金蝶K/3(17),基础(7) 本周回答(0),本月回答(0)
回答时间:2007-4-8 20:28:17
from 前面加 into #temp (目的是把你查询出来的这一大堆东西先放在一个临时表里)

然后对#temp进行查询操作就可以了,例如以下格式
select * from #temp
union

select sum(*),... from #temp
修改时间:2007-4-8 20:43:05
金蝶k3经验1号主群 群号 4935288
金蝶k3经验2号分群 群号 27290904
金蝶k3经验3号分群 群号 38119522
金蝶k3经验4号分群 群号 38568619
我们的宗旨:免费帮助需要帮助的人,创建和谐网络.
 
avatar
救火
IT 行业
Ta擅长:
金蝶K/3(9),K/3 BOS(8) 本周回答(0),本月回答(0)
回答时间:2007-4-9 10:55:11
用union
或者用rollup即可实现合计
财软联盟论坛
View as RSS news feed in XML
© 2008 金蝶国际软件集团 版权所有  Version:3.2.2008.27643 页面时间:139.8362Ms