以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]查询出错 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=103792) |
||||
-- 作者:183966998 -- 发布时间:2017/7/17 10:20:00 -- [求助]查询出错 ![]() ![]() Dim bm As String = "查询表" Dim jb As New SQLJoinTableBuilder(bm,"购买记录") jb.C \'使用外部表,一定要设置数据源名称 jb.AddTable("购买记录","金卡号","JK_客户基本信息","金卡号") jb.AddCols("专卖店",True) jb.AddCols("客户分类",True) jb.AddCols("{JK_客户基本信息}.金卡号",True) jb.AddCols("姓名",True) jb.AddCols("性别",True) jb.AddCols("年龄",True) jb.AddCols("电话",True)
jb.AddCols("手机",True) jb.AddExp("最后日期","Max(购买时间)") jb.AddCols("产品种类",True) jb.AddCols("产品数量",True) jb.AddCols("服用人数",True) jb.AddCols("症状",True) jb.AddCols("{JK_客户基本信息}.备注",True) jb.AddCols("服务人员",True) jb.Build() MainTable = Tables(bm) 请教各位老师如何显示客户下订购每种产品类型的最后一次日期???代码是哪里不对? 我需要求得每个客户订购每个产品最后一次时间及数量
[此贴子已经被作者于2017/7/17 11:18:11编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/7/17 11:06:00 -- 报什么错?请做个例子上来测试。代码看着没问题。 |
||||
-- 作者:183966998 -- 发布时间:2017/7/17 11:21:00 -- 回复:(有点甜)报什么错?请做个例子上来测试。代码... Dim bm As String = "查询表" Dim jb As New SQLJoinTableBuilder(bm,"JK_客户基本信息") jb.C \'使用外部表,一定要设置数据源名称 jb.AddTable("JK_客户基本信息","金卡号","购买记录","金卡号") jb.AddCols("{JK_客户基本信息}.金卡号",True) jb.AddCols("专卖店","客户分类","姓名","性别","年龄","服用人数","症状","服务人员","电话","手机","产品种类",True) jb.AddExp("最后日期","Max(购买时间)") jb.AddCols("{JK_客户基本信息}.备注",True) jb.Build() MainTable = Tables(bm) 之前的代码我改成这样了,能查询每个客户订购产品种类的最后一次日期,可是我加入订购产品数量时,查询出来的数据就不是每个产品的最后一次购买时间,而是客户所有产品购买时间
|
||||
-- 作者:有点甜 -- 发布时间:2017/7/17 11:58:00 -- Dim bm As String = "查询表" Dim jb As New SQLJoinTableBuilder(bm,"JK_客户基本信息") jb.AddTable("JK_客户基本信息","金卡号","购买记录","金卡号") jb.AddCols("{JK_客户基本信息}.金卡号",True) jb.AddCols("专卖店","客户分类","姓名","性别","年龄","服用人数","症状","服务人员","电话","手机","产品种类",True) jb.AddExp("最后日期","Max(购买时间)") jb.AddCols("{JK_客户基本信息}.备注",True) Dim sql = jb.BuildSql sql = "select *, 产品数量 as 购买数量 from {购买记录} as a inner join (" & sql & ") as b on a.金卡号 = b.金卡号 and a.购买时间 = b.最后日期" output.show(sql) Dim q As new QueryBuilder q.TableName = bm q.ConnectionName = "数据源" q.SelectString = sql q.Build MainTable = Tables(bm) [此贴子已经被作者于2017/7/17 12:37:47编辑过]
|
||||
-- 作者:183966998 -- 发布时间:2017/7/17 12:17:00 -- 回复:(有点甜)Dim bm As String = "查询表"Dim jb ... 老师,我执行命令,代码报错 ![]() ![]() |
||||
-- 作者:有点甜 -- 发布时间:2017/7/17 12:38:00 -- Dim bm As String = "查询表" Dim jb As New SQLJoinTableBuilder(bm,"JK_客户基本信息") jb.AddTable("JK_客户基本信息","金卡号","购买记录","金卡号") jb.AddCols("{JK_客户基本信息}.金卡号",True) jb.AddCols("专卖店","客户分类","姓名","性别","年龄","服用人数","症状","服务人员","电话","手机","产品种类",True) jb.AddExp("最后日期","Max(购买时间)") jb.AddCols("{JK_客户基本信息}.备注",True) Dim sql = jb.BuildSql sql = "select *, 产品数量 as 购买数量 from {购买记录} as a inner join (" & sql & ") as b on a.金卡号 = b.金卡号 and a.购买时间 = b.最后日期" output.show(sql) Dim q As new QueryBuilder q.TableName = bm q.ConnectionName = "数据源" q.SelectString = sql q.Build MainTable = Tables(bm) |
||||
-- 作者:183966998 -- 发布时间:2017/7/17 15:50:00 -- 回复:(有点甜)Dim bm As String = "查询表"Dim jb ... 老师,麻烦您在帮我看看,我执行sql查询数据时能预览,但是生成不了表,提示下图,是什么原因导致的? ![]() ![]() 提示 ![]() ![]() [此贴子已经被作者于2017/7/17 15:51:32编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/7/17 16:05:00 -- 根据你给的例子,代码这样写
Dim bm As String = "查询表" |
||||
-- 作者:183966998 -- 发布时间:2017/7/17 16:11:00 -- 回复:(有点甜)根据你给的例子,代码这样写 ... 谢谢您老师,我通过这样的代码,得到了我想要的结果排除了客户所订购产品的重复值,得到了最后购买时间,O(∩_∩)O谢谢,学习不少东西 Dim bm As String = "查询表"
Dim jb As New SQLJoinTableBuilder(bm,"JK_客户基本信息") jb.C \'使用外部表,一定要设置数据源名称 jb.AddTable("JK_客户基本信息","金卡号","购买记录","金卡号") jb.AddCols("{JK_客户基本信息}.金卡号",True) jb.AddCols("专卖店","客户分类","姓名","性别","年龄","服用人数","症状","服务人员","电话","手机","产品种类",True) jb.Filter = "产品种类" jb.Distinct = True jb.AddExp("最后日期","Max(购买时间)") jb.AddCols("{JK_客户基本信息}.备注",True) jb.Build() MainTable = Tables(bm) |
||||
-- 作者:183966998 -- 发布时间:2017/7/17 16:13:00 -- 回复:(有点甜)根据你给的例子,代码这样写 ... 我在学学你给我例子做的代码,太感谢了 |