以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 多表关联拼接统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87658)

--  作者:a2029460
--  发布时间:2016/7/16 11:15:00
--  [求助] 多表关联拼接统计
遍历一个表,分别把每个导购维护的会员产生的流水按商品类别分类统计。
最后把每个导购统计的数据拼接在一个表中。
我该怎么做啊,实在想不出!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.table


--  作者:Hyphen
--  发布时间:2016/7/16 11:54:00
--  
这个意思?


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


--  作者:a2029460
--  发布时间:2016/7/16 13:30:00
--  
不是这个意思  这个已经实现了   现在的需求比这个复杂
--  作者:a2029460
--  发布时间:2016/7/16 13:30:00
--  
我在项目里写详细说明了 麻烦帮看看
--  作者:a2029460
--  发布时间:2016/7/16 13:31:00
--  
不是, 我项目里写清楚了
--  作者:a2029460
--  发布时间:2016/7/16 13:34:00
--  
杨青这个导购,集维护的会员1还有会员2  所以他的维护提成 应该是 会员1的abc商品流水加上 会员2的abc商品流水 算出的提成总和
--  作者:Hyphen
--  发布时间:2016/7/16 14:36:00
--  
先组合2个表的数据,再统计http://www.foxtable.com/webhelp/scr/2317.htm


Dim jb As new SQLJoinTableBuilder("查询表1","vip")
jb.AddTable("vip","vip_id","sale_info","vip_id")
jb.AddTable("vip","daogou","director","director_id")
jb.AddCols("director_id", "director_name","{sale_info}.*")

Dim g As New GroupTableBuilder("统计表3", jb.BuildSQL)
g.Groups.AddDef("director_name")
g.Groups.AddDef("vip_id")
g.Groups.AddDef("abc")
g.Totals.AddDef("sale_money")
g.Build()
MainTable = Tables("统计表3")

--  作者:a2029460
--  发布时间:2016/7/16 16:37:00
--  
看看这个为啥不能正确的判断啊,我的思路是根据大红袍之前的思路,首先,因为sell_way是销售方式,也就是A是卖出,B是退货,C是赠送。正确的销售额是卖出减去退货,赠送一般没有。   所以我想根据你的思路把这个几个表合城的时候就加一个表达式列,把sell_way是B的money都变成负数, 这样统计好后,一横向合计,自动就减去得到真正的销售额了,可现在我用iif判断  所有的行都是错误的! 也就是没有一个判断成B,所以如果第二个选择是sale_money 则结果表达式一列都是正数,如果是-sale_money  表达式列都是负数,总的意思是,这个表达式列用iif函数判断的结果都是错,没一个=B
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160716163158.png
图片点击可在新窗口打开查看

--  作者:a2029460
--  发布时间:2016/7/16 16:45:00
--  
还有我打算把生成的这个合并表绑定到窗口的table控件上操作,也错误
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160716164410.png
图片点击可在新窗口打开查看

--  作者:a2029460
--  发布时间:2016/7/16 16:49:00
--  
这个问题已解决

自己琢磨了一下改成这样 成功了
t.DataTable.DataCols.Add("实际金额", Gettype(Double))
For Each r As Row In t.Rows\'
    If r("sell_way") = "B" Then 
         r("实际金额") = -r("sale_money")
    Else 
     r("实际金额") = r("sale_money")
    End If
Next