以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  库存数汇总统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67872)

--  作者:Yangzaiandnoe
--  发布时间:2015/5/5 14:25:00
--  库存数汇总统计
如何将  不同仓库的库存数和商品价格 这些信息,汇总到一张表里呢??  
图片点击可在新窗口打开查看此主题相关图片如下:q}3%zmdgg9h_5_abz{5_h.jpg
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2015/5/5 14:27:00
--  
上例子,说明如何汇总统计.


--  作者:狐狸爸爸
--  发布时间:2015/5/5 14:28:00
--  

用sele ct 语句, union all

 

五、UNION 运算符

UNION运算符用于组合两个查询的结果。
例如有一个客户表,一个供应商表,我需要得到所有在中国的客户和供应商的名称和地址。
因为数据位于不同的表中,显然,我们需要用两个查询才能完成任务:

SELEC T 公司名称, 地址 FROM {客户} WHERE 国家 = \'中国\' UNION SELE CT 公司名称, 地址 FROM {供应商} WHERE 国家 = \'中国\'

两个查询的字段名称、个数、类型必须完全一致才行。

默认情况下,UNION会自动排除重复的行,然后你可以用ALL关键词来确保返回所有的行,例如:

SELEC T 公司名称, 地址 FROM {客户} WHERE 国家 = \'中国\' UNION ALL SELE CT 公司名称, 地址 FROM {供应商} WHERE 国家 = \'中国\'

 

 

不过最好一开始就不要分开多个表,一个表就行了 


--  作者:Yangzaiandnoe
--  发布时间:2015/5/5 14:29:00
--  这个是例子
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:沧溟库存.table


--  作者:Bin
--  发布时间:2015/5/5 14:30:00
--  
看3楼
--  作者:Yangzaiandnoe
--  发布时间:2015/5/5 14:32:00
--  
您好,咱们论坛的视频教学有没有类似的案例??
--  作者:Bin
--  发布时间:2015/5/5 14:34:00
--  
置顶教程视频,你可以按部就班看一下
--  作者:狐狸爸爸
--  发布时间:2015/5/5 14:39:00
--  

增加一个查询表,sql语句为:

sele ct 仓库id,仓库名称,商品条码,商品名称,库存数,单价 From {华南仓} union all  sel ect 仓库id,仓库名称,商品条码,商品名称,库存数,单价 From {华北仓}  union all  sele ct 仓库id,仓库名称,商品条码,商品名称,库存数,单价 From {华东仓}

 

如何增加查询表:

http://www.foxtable.com/help/topics/2321.htm

 

注意上面的语句,Sel ect中间的空格都不能要,这是论坛限制的,必须输入空格才能发上来

[此贴子已经被作者于2015/5/5 14:41:16编辑过]

--  作者:Yangzaiandnoe
--  发布时间:2015/5/5 15:13:00
--  
我是想要实现  在一行中, 一个商品条码 对应 各个仓库的 库存信息   这个语句实现不了····


--  作者:狐狸爸爸
--  发布时间:2015/5/5 15:33:00
--  

这样就一个表显示了:

 

Dim sql As String = "se lect 仓库id,仓库名称,商品条码,商品名称,库存数,总计 From {华南仓} union all  se lect 仓库id,仓库名称,商品条码,商品名称,库存数,总计 From {华北仓}  union all  se lect 仓库id,仓库名称,商品条码,商品名称,库存数,总计 From {华东仓}"
Dim g As New CrossTableBuilder("统计表1", SQL,"")
g.HGroups.AddDef("商品名称")
g.VGroups.AddDef("仓库名称")
g.Totals.AddDef("库存数")
g.Totals.AddDef("总计", "金额")
g.filter = "仓库名称 is not null"
g.Build()
MainTable = Tables("统计表1")

 

提示: se lect同样多了空格

 

参考:

http://www.foxtable.com/help/topics/2307.htm

 

[此贴子已经被作者于2015/5/5 15:34:04编辑过]