Foxtable(狐表)用户栏目专家坐堂 → 查询表生成器 sql 子句错误


  共有3535人关注过本帖树形打印复制链接

主题:查询表生成器 sql 子句错误

帅哥哟,离线,有人找我吗?
xunxun0903
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:278 积分:3401 威望:0 精华:0 注册:2017/12/20 15:51:00
查询表生成器 sql 子句错误  发帖心情 Post By:2020/10/10 9:51:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/2314.htm  帮助说明 “例子七” 也使用了聚合函数,为啥我也使用了就出错? 

Dim jb As New SQLJoinTableBuilder("物品资料","单据_库存")
jb.C
jb.AddTable("单据_库存","产品编号","基础_产品","产品编号")
jb.AddTable("基础_产品","产品编号","基础_产品_单位信息","产品编号")
jb.AddExp("编码及名称_编码","编码")
jb.AddExp("编码及名称_名称","名称")
jb.AddExp("编码及名称_型号","规格型号")
jb.AddCols("单位名称")
jb.AddExp("库存详情_账面库存","SUM(账面数量)")
jb.Build()
Tables("产品资料_Table1").DataSource = jb.BuildDataSource

选择列表中的列 '基础_产品.编码' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
我知道sql语句,GROUP BY后面要加上非聚合函数列名,有啥方法不用写sql语句实现吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/10 10:00:00 [只看该作者]

示例七

SQLJoinTableBuilder也可以进行简单的分组统计。
用AddCols增加列时,可以将最后一个参数设置为True,以表示添加的是分组列。
用AddExp增加表达式列时,可以将最后一个参数设置为True,以表示添加的是分组列。


例如按年统计各客户订购每种产品的数量和金额:

Dim jb As New SQLJoinTableBuilder("查询表1","订单")
jb
.ConnectionName = "Sale"
jb.AddTable(
"订单","产品ID","产品","产品ID")
jb.AddTable(
"订单","客户ID","客户","客户ID")
jb.AddExp(
"","Year(日期)",True)
jb.AddCols(
"产品名称","客户名称",True)
jb.AddExp(
"数量","Sum(数量)")
jb.AddExp(
"金额","Sum(数量 * 单价)"
jb.Build()

MainTable = Tables(
"查询表1")


 回到顶部
帅哥哟,离线,有人找我吗?
xunxun0903
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:278 积分:3401 威望:0 精华:0 注册:2017/12/20 15:51:00
  发帖心情 Post By:2020/10/10 10:20:00 [只看该作者]

谢谢 !搞定

 回到顶部