以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]统计过程中去重复  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96009)

--  作者:lgj716330
--  发布时间:2017/2/10 14:17:00
--  [求助]统计过程中去重复

Dim b As New groupTableBuilder("统计表1",sql) 
Dim dt1 As fxDataSource
b.Groups.AddDef("快递公司")
b.Groups.AddDef("店铺")
b.Totals.AddDef("运费金额","运费金额_销售") 
dt1 = b.BuildDataSource() 
[此贴子已经被作者于2017/2/10 14:20:41编辑过]

--  作者:lgj716330
--  发布时间:2017/2/10 14:24:00
--  

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

第一句代码发不了

说明:运费明细里的物流单号是唯一的,管家销售明细账里的物流单号是有重复的
要求:如何在统计时只筛选管家销售明细账物流单号的不重复记录过来匹配


--  作者:lihe60
--  发布时间:2017/2/10 14:29:00
--  
 如果发表包括Select语句的帖子?   
--  作者:lgj716330
--  发布时间:2017/2/10 14:34:00
--  
以下是引用lihe60在2017/2/10 14:29:00的发言:
 如果发表包括Select语句的帖子?   
代码发不了是因为select语句的关系?


--  作者:有点色
--  发布时间:2017/2/10 14:40:00
--  

select 把e变斜体就可以发sql语句

 

Select 快递公司, 店铺, (select top 1 运费金额 from {管家销售明细账} as b where a.物料单号 = b.物料单号) as 运费金额 from {运费明细} as a


--  作者:lgj716330
--  发布时间:2017/2/10 15:36:00
--  
Dim sql As String = "Select 快递公司,店铺,(select top 1 运费金额 FROM {管家销售明细账}  b where a.物流单号 = b.物流单号) As 运费金额 from {运费明细} As a"
Dim b As New groupTableBuilder("统计表1",sql) 
Dim dt1 As fxDataSource
b.Groups.AddDef("快递公司")
b.Groups.AddDef("店铺")
b.Totals.AddDef("运费金额","运费金额_销售") 
dt1 = b.BuildDataSource() 

Dim sq2 As String = "Select 快递公司,店铺,(Select top 1 运费金额 FROM {管家退货明细账}  b where a.物流单号 = b.退货物流单号) As 运费金额 from {运费明细} As a"
Dim b2 As New groupTableBuilder("统计表2",sq2) 
Dim dt2 As fxDataSource
b2.Groups.AddDef("快递公司")
b2.Groups.AddDef("店铺")
b2.Totals.AddDef("运费金额","运费金额_退货") 
dt2 = b2.BuildDataSource()

Dim nms As String() = {"快递公司","店铺"}
dt1.Combine(nms,dt2,nms)   \'将销售统计数据组合到进货统计数据
dt1.Show("统计表1") \'显示统计结果


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


--  作者:有点色
--  发布时间:2017/2/10 15:45:00
--  

你要看懂sql语句,哪一列在管家销售明细账里面,红色的就对应改成哪一列

 

Select 快递公司, 店铺, (select top 1 运费金额 from {管家销售明细账} as b where a.物料单号 = b.物料单号) as 运费金额 from {运费明细} as a


--  作者:lgj716330
--  发布时间:2017/2/10 17:22:00
--  
Dim sql As String = "Select * from {运费明细} As a inner join (Select 物流单号,店铺,sum(数量) As 销售数量 from {管家销售明细账} group by 物流单号) As b on  a.物流单号 = b.物流单号"
Dim b1 As New groupTableBuilder("统计表1",sql) 
Dim dt1 As fxDataSource
b1.Groups.AddDef("快递公司")
b1.Groups.AddDef("店铺")
b1.Totals.AddDef("运费金额","运费金额_销售") 
dt1 = b1.BuildDataSource() 

Dim sq2 As String = "Select * from {运费明细} As a inner join (Select 退货物流单号,店铺,sum(数量) As 退货数量 from {管家退货明细账} group by 退货物流单号) As b on  a.物流单号 = b.退货物流单号"
Dim b2 As New groupTableBuilder("统计表2",sq2) 
Dim dt2 As fxDataSource
b2.Groups.AddDef("快递公司")
b2.Groups.AddDef("店铺")
b2.Totals.AddDef("运费金额","运费金额_退货") 
dt2 = b2.BuildDataSource()

Dim nms As String() = {"快递公司","店铺"}
dt1.Combine(nms,dt2,nms)   \'将销售统计数据组合到进货统计数据
dt1.Show("统计表1") \'显示统计结果

对我来说,这可能好理解点,但还是提示同样错误,不知代码哪里还有问题

--  作者:有点蓝
--  发布时间:2017/2/10 20:23:00
--  
Dim sql As String = "Slect * from {运费明细} As a inner join (Slect 物流单号,店铺,sum(数量) As 销售数量 from {管家销售明细账} group by 物流单号,店铺) As b on  a.物流单号 = b.物流单号"


Dim sq2 As String = "Select * from {运费明细} As a inner join (Select 退货物流单号,店铺,sum(数量) As 退货数量 from {管家退货明细账} group by 退货物流单号,店铺) As b on  a.物流单号 = b.退货物流单号"


--  作者:lgj716330
--  发布时间:2017/2/10 20:35:00
--  
可以了,谢谢。