以文本方式查看主题 - 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 -- [求助] 多表关联拼接统计 遍历一个表,分别把每个导购维护的会员产生的流水按商品类别分类统计。 最后把每个导购统计的数据拼接在一个表中。 我该怎么做啊,实在想不出!
|
||||
-- 作者:Hyphen -- 发布时间:2016/7/16 11:54:00 -- 这个意思? |
||||
-- 作者: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 |