Foxtable(狐表)用户栏目专家坐堂 → [求助]查询不同子表的合计数重复


  共有3375人关注过本帖树形打印复制链接

主题:[求助]查询不同子表的合计数重复

帅哥哟,离线,有人找我吗?
chinaabs
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:53 积分:1019 威望:0 精华:0 注册:2019/2/26 16:38:00
[求助]查询不同子表的合计数重复  发帖心情 Post By:2021/4/29 14:57:00 [只看该作者]


父表:订单表, 子表1:订单明细表  子表2:收款明细表,两个子表和父表都是通过订单号关联。现在想sql生成一个表,包含三列,订单号,订单金额,已收合计。
语句是 select 订单表.订单号,sum(单价*数量) as '订单金额',sum(收款金额)as '已收合计' fro m ({订单表} innerjoin {订单明细表} on {订单表}.订单号 = {订单明细表}.订单号) inner join {收款明细表} on {订单表}.订单号 = {收款明细表}.订单号 where {订单表}.订单号 = 'xxxx' group by  {订单表}.订单号

当一个订单有两条收款记录的时候,订单金额就会变成两倍,三条就是三倍。大概原因也明白,这个查询逻辑有问题,但不知道到怎样达到想要的效果。
请老师指点下思路

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 15:57:00 [只看该作者]

select 订单表.订单号,订单金额,已收合计 from ({订单表} inner join (selec订单号,sum(单价*数量) as '订单金额' from {订单明细表} where 订单号 = 'xxxx'  group by  订单号) as a on {订单表}.订单号 = a.订单号) inner join (select  订单号,sum(收款金额)as '已收合计'  from  {收款明细表} where 订单号 = 'xxxx'   group by  订单号) as b on {订单表}.订单号 = b.订单号 where {订单表}.订单号 = 'xxxx' 

 回到顶部
帅哥哟,离线,有人找我吗?
chinaabs
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:53 积分:1019 威望:0 精华:0 注册:2019/2/26 16:38:00
  发帖心情 Post By:2021/4/29 17:24:00 [只看该作者]

搞定,非常感谢

 回到顶部