Foxtable(狐表)用户栏目专家坐堂 → 多表汇总问题


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

主题:多表汇总问题

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/5/23 11:44:00 [显示全部帖子]

这位楼主的提问方式只得推广····  让人一看就明白了。。。。


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/5/24 21:13:00 [显示全部帖子]

用狐表解决起来轻松的很,Select 里面太复杂了,看晕了····   24楼问如何换行,我试了一下,这样:

Dim fl As String = "Select {进货单}.型号,{进货单}.数量 As 进货_数量,"
fl = fl & "{进货单}.单价 As 进货_单价,{进货单}.单价 * {进货单}.数量 As 进货_金额,"
fl = fl & "{销售单}.数量 As 销售单_数量,{销售单}.售价/{销售单}.数量 As 销售单_均价,"
fl = fl & "{销售单}.售价 As 销售单_售价,{退货单}.数量 As 退货单_数量,{退货单}.单价 As 退货单_单价,"
fl = fl & "{进货单}.数量-{退货单}.数量-{销售单}.数量 As 库存_数量,{进货单}.单价 As 库存_单价,"
fl = fl & "({进货单}.数量-{退货单}.数量-{销售单}.数量)*{进货单}.单价 As 库存_金额 "
fl = fl & "from ((Select 型号,单价,sum(数量) As 数量 from {进货单}"
fl = fl & "group by 型号,单价) As {进货单} "
fl = fl & "left join (Select 型号,sum(数量) As 数量,sum(售价) As 售价 from {销售单} "
fl = fl & "group by 型号) As {销售单} on {销售单}.型号 = {进货单}.型号) "
fl = fl & "left join (Select 型号,SUM(数量) As 数量,单价 from {退货单} "
fl = fl & "group by 型号,单价) As {退货单} on {进货单}.型号 = {退货单}.型号 "
'fl = fl & "
DataTables("库存清单").Fill(fl,True)


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/5/24 23:04:00 [显示全部帖子]

以下是引用zhaotao在2011-5-24 22:23:00的发言:
同名列有些可以改名,入库数量、销售数量.....。但HGroups.AddDef 分组列最好能够取各表某列的不重复值。比如型号。有可能某型号的货末入库(或漏单)就有销售。

有可能某型号的货末入库(或漏单)就有销售。 这个是管理的问题,应该先入库再销售的,如果是途中销售,也应入库出库一起办理手续。


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/5/25 0:47:00 [显示全部帖子]

以下是引用肖金亮在2011-5-24 18:39:00的发言:

我自己也做了一个完全用SELECT 语句 跑出来的汇总,但是就是有些地方 不能归零显示,有点BUG看哪位能继续按照我现在上传的列子再做修改 达到SELECT 自动汇总效果?


图片点击可在新窗口打开查看此主题相关图片如下:图片说明1.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:324.0 KB  下载次数:8]
图片点击可在新窗口打开查看点击浏览该文件:测试表单.table

[此贴子已经被作者于2011-5-24 18:39:14编辑过]

要显示“0”,应该这样吧: 比如,把 {退货单}.数量 As 退货单_数量 改为: iif({退货单}.数量 is null,0,{退货单}.数量) As 退货单_数量  。  所有类似的都要这样才行······


 回到顶部