Foxtable(狐表)用户栏目专家坐堂 → 2表联合查询,带SUM功能


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

主题:2表联合查询,带SUM功能

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


加好友 发短信
等级:小狐 帖子:372 积分:2582 威望:0 精华:0 注册:2012/10/29 8:32:00
2表联合查询,带SUM功能  发帖心情 Post By:2016/7/21 19:29:00 [只看该作者]

有2个表,表1是申请单,表2是订单,申请单中PR子表标识是唯一的,订单数据是从申请单中导入
申请单中一个PR子表标识的物料,可能是分2次采购。
现在想生成一个查询,将表2中的数量按照申请单子表标识分组汇总,和表1合成一个查询表。
不知道怎么写SQL语句。弄了好久没有弄出来。
希望实现的效果如图3


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看



[此贴子已经被作者于2016/7/21 19:29:45编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/21 19:58:00 [只看该作者]

  直接连接查询,生成查询表,然后分组统计。

 

http://www.foxtable.com/webhelp/scr/2322.htm

 

http://www.foxtable.com/webhelp/scr/0158.htm

 


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


加好友 发短信
等级:小狐 帖子:372 积分:2582 威望:0 精华:0 注册:2012/10/29 8:32:00
  发帖心情 Post By:2016/7/21 20:17:00 [只看该作者]

谢谢大红袍,我的意思是生成一个查询表,知道申请的数量和订购的数量,增加订单时从采购申请单中选择,如果已经订购的物料就不要再重复采购了

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/21 20:38:00 [只看该作者]

先得到这个表

 

 select a.标志, sum(a.数量) - sum(b.数量) as 剩余数量 fr om {申请表} as a left join {订单表} as b on (a.标志 = b.标志) group by a.标志

 

然后对这个表查询

 

 select * fr om {申请表} as c inner join (上表) as d on (c.标志 = d.标志) where 剩余数量 > 0

 

全部这样写

 

 select * fr om {申请表} as c inner join ( select a.标志, sum(a.数量) - sum(b.数量) as 剩余数量 fr om {申请表} as a left join {订单表} as b on (a.标志 = b.标志) group by a.标志) as d on (c.标志 = d.标志) where 剩余数量 > 0

 


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


加好友 发短信
等级:小狐 帖子:372 积分:2582 威望:0 精华:0 注册:2012/10/29 8:32:00
  发帖心情 Post By:2016/7/21 20:43:00 [只看该作者]

多谢热心的大红袍。我先试试。

 回到顶部