遇到个难题,情况是这样:统计每个导购维护的所有会员产生的消费按商品种类ABC和销售方式正常销售、退货交叉统计后,再根据不同的提成公式算出提成。
总的思路以前红袍大神和p大神教过我,我在自己的电脑上模拟的数据表做成功了。可万万没想到店里的数据表里是这么个情况:
真实的数据表结构:
会员关联导购,会员关联流水。 而流水里没有商品的abc种类,在商品表里, 问题就难在这我用以下代码把这几个表合并成一个表的时候,因为一般销售表里的abc是通过表达式弄出来的。 可真正在代码里合并时,销售表是没有abc这个列的, 属于商品信息表。 导致缺少abc这一列,无法进行统计。
而我试着在下面加一句
jb.AddTable("pos_t_saleflow","item_no","bi_item_info ","item_no") 企图加这一句把流水表和商品表关联AddTable进来的时候,虽然没报错,可是什么数据都没。
Dim jb As new SQLJoinTableBuilder("查询表1","pos_t_vip_info")
jb.C
----------’pos_t_vip_info : 会员表 ----pos_t_saleflow :销售流水---- bi_t_people_info : 导购表 ---
关联: 会员id和流水表里的会员id
jb.AddTable("pos_t_vip_info","card_id","pos_t_saleflow","vip_no")
关联: 会员维护导购 和 导购表里的导购id
jb.AddTable("pos_t_vip_info","vip_adviser","bi_t_people_info ","oper_id")
(如果添加列里加上 {pos_t_saleflow}.ABC 则报错ABC列无效, 因为他是表达式列)
jb.AddCols("{pos_t_vip_info}.oper_id", "oper_name","sale_money","sell_way","sale_man","{pos_t_saleflow}.oper_date","vip_no","{pos_t_saleflow}.ABC")
Dim t As Table = e.Form.Controls("Table1").Table
t.DataSource = jb.BuildDataSource
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
End If
请教我该怎么破啊? 怎样就能把商品的abc也添加进来进行统计?