sql语句:
select pe.cfitemnumberid as 项目编码,pe.cfitemname as 项目名称,sum(pe.cfpactmoney) as 项目合同额,
(sum(ee.Cfbudgetsummoney)+sum(de.cfafteradjustmoney)) as 成本费用额,
nvl(round(((sum(pe.cfpactmoney)-(sum(ee.Cfbudgetsummoney)+sum(de.cfafteradjustmoney)))/sum(pe.cfpactmoney)),2),0)*100 || '%' as 毛利率
from ct_ifm_itempactentry pe
left join ct_ifm_itempact p on pe.fparentid = p.fid
left join ct_ifm_itemexpensebudget e on pe.cfitemnumberid = e.cfitemcodingid
left join ct_ifm_itemexpensebudgetentry ee on ee.fparentid = e.fid
left join ct_ifm_itemdatumbudget d on pe.cfitemnumberid = d.cfitemcodingid
left join ct_ifm_itemdatumbudgetentry de on d.fid = de.fparentid
group by pe.cfitemnumberid,pe.cfitemname
where userid = ''显示:
项目编码   项目名称   项目合同额   成本费用额   毛利率
xxx          xxx       xx             xx          xx.xx%
xxx          xxx       xx             xx          xx.xx%xxx          xxx       xx             xx          xx.xx%
xxx          xxx       xx             xx          xx.xx%
xxx          xxx       xx             xx          xx.xx%我oracle学的不怎么样,我不知道去除掉列表里面的空行记录,我用了having(count(pe.cfitemnumberid)>0)空行是去掉了,但是我就不能用where来限定条件查询了。。希望各位朋友帮忙解决下,非常感谢!!