sql子表求和在总表中显示,并参与搜索

1.增加临时的子表的求和列,-可多个求和
   c子表tl_road_zxxx_xmgc_pay 也是要求和的表    gcnoeprice  ,gcnowwfprice  两列求和 放在总表中显示;通过主gcid连接
  总表    tl_road_zxxx_xmgc s     临时字段是 

 SELECT s.gcid,s.xlzh,s.gcbh,s.zzsave,s.gcyear,s.gcmonth,s.gctypename,s.gcname,s.sgcop,s.sguser,s.planprice,s.jsprice,s.bzprice,s.zfdate,s.kgdate,s.wgdate,s.xlbm,s.xlname,s.gcfjsm,(SELECT sum(CAST(c.gcnoeprice AS decimal(18,3)))    FROM tl_road_zxxx_xmgc_pay c WHERE c.gcid=s.gcid) as gcnoeprice ,(SELECT sum(CAST(c.gcnowwfprice AS decimal(18,3)))    FROM tl_road_zxxx_xmgc_pay c WHERE c.gcid=s.gcid) as gcnowwfprice FROM tl_road_zxxx_xmgc s  

SELECT s.gcid,s.xlzh,s.gcbh,s.zzsave,s.gcyear,s.gcmonth,s.gctypename,s.gcname,s.sgcop,s.sguser,s.planprice,s.jsprice,s.bzprice,s.zfdate,s.kgdate,s.wgdate,s.xlbm,s.xlname,s.gcfjsm,(SELECT sum(CAST(c.gcnoeprice AS decimal(18,3)))    FROM tl_road_zxxx_xmgc_pay c WHERE c.gcid=s.gcid) as gcnoeprice   FROM tl_road_zxxx_xmgc s  where  (country =  '522701')   and del='1' 

因为临时的字段不能参加where,所以做成整体 


1.     select  *  from   (  临时查询语句 )  s  where  gcnoeprice='0'    //gcnoeprice为临时

2.作为整体的语句
SELECT s.gcid,s.xlzh,s.gcbh,s.zzsave,s.gcyear,s.gcmonth,s.gctypename,s.gcname,s.sgcop,s.sguser,s.planprice,s.jsprice,s.bzprice,s.zfdate,s.kgdate,s.wgdate,s.xlbm,s.xlname,s.gcfjsm,(SELECT sum(CAST(c.gcnoeprice AS decimal(18,3)))    FROM tl_road_zxxx_xmgc_pay c WHERE c.gcid=s.gcid) as gcnoeprice ,(SELECT sum(CAST(c.gcnoeprice AS decimal(18,3)))-s.jsprice    FROM tl_road_zxxx_xmgc_pay c WHERE c.gcid=s.gcid) as gcnowwfprice FROM tl_road_zxxx_xmgc s   where  (country =  '522701')   and del='1' 

3.结合语句
select  *  from   (SELECT s.gcid,s.xlzh,s.gcbh,s.zzsave,s.gcyear,s.gcmonth,s.gctypename,s.gcname,s.sgcop,s.sguser,s.planprice,s.jsprice,s.bzprice,s.zfdate,s.kgdate,s.wgdate,s.xlbm,s.xlname,s.gcfjsm,(SELECT sum(CAST(c.gcnoeprice AS decimal(18,3)))    FROM tl_road_zxxx_xmgc_pay c WHERE c.gcid=s.gcid) as gcnoeprice ,(SELECT sum(CAST(c.gcnoeprice AS decimal(18,3)))-s.jsprice    FROM tl_road_zxxx_xmgc_pay c WHERE c.gcid=s.gcid) as gcnowwfprice FROM tl_road_zxxx_xmgc s   where  (country =  '522701')   and del='1'  )  s   where  gcnoeprice='0' 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值