Foxtable(狐表)用户栏目专家坐堂 → select语句报错


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

主题:select语句报错

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


加好友 发短信
等级:六尾狐 帖子:1427 积分:11354 威望:0 精华:0 注册:2008/9/1 22:20:00
select语句报错  发帖心情 Post By:2015/9/6 16:09:00 [只看该作者]

TABLEs("a").fill("S.e.l.e.c.t [_Identify],[单位],[年月],Round([上月实发]-[实发工资],2) as 实发差额 From {生成表}",true)

以下部分报错:
Round([上月实发]-[本月实发],2) as 应发差额

如果用
[上月实发]-[本月实发] as 应发差额      则没问题
[此贴子已经被作者于2015/9/6 16:11:07编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/6 16:14:00 [只看该作者]

报什么错?不应该报错。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/6 16:16:00 [只看该作者]

哦,是你括号的问题,括号要用英文状态下的(),不要用()

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


加好友 发短信
等级:六尾狐 帖子:1427 积分:11354 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2015/9/6 16:18:00 [只看该作者]

语法错误 (操作符丢失) 在查询表达式 'Round([上月实发]-[实发工资],2) as 实发差额 From [~TMPCLP生成表]' 中。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/6 16:19:00 [只看该作者]

看3楼

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


加好友 发短信
等级:六尾狐 帖子:1427 积分:11354 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2015/9/6 16:25:00 [只看该作者]

是括号的问题,非常规感谢。

还有一问:
类似这种查询语句:
S.e.l.e.c.t [_Identify],[单位],[年月],Round([上月实发]-[实发工资],2) as 实发差额 From {生成表} 

如何按照as 生成的列(如“实发差额”)排序?
如下语句会报错!
S.e.l.e.c.t [_Identify],[单位],[年月],Round([上月实发]-[实发工资],2) as 实发差额 From {生成表}  order by  实发差额 DESC

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/6 16:28:00 [只看该作者]

生成以后,对表排序

 

TABLEs("a").Sort = "实发差额 DESC"

 

或者

 

S.e.l.e.c.t [_Identify],Round([上月实发]-[实发工资],2) as _Sortkey, [单位],[年月],Round([上月实发]-[实发工资],2) as 实发差额 From {生成表} 


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


加好友 发短信
等级:六尾狐 帖子:1427 积分:11354 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2015/9/6 17:39:00 [只看该作者]

发现新问题:

从SQL测试窗口可以实现效果,但是放到任务栏控件,单击任务后出来的却不行(没有四舍五入效果)。


 t.Fill("S.e.l.e.c.t [_Identify],[单位],[年月],[工号],[姓名],Round([上月实发]-[实发工资],2) as 实发差额 From {工资单生成表}",True)


[此贴子已经被作者于2015/9/6 17:39:16编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/6 17:42:00 [只看该作者]

设置一下列格式

 

t.DataTable.DataCols("实发差额").SetFormat("0.00")

 


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


加好友 发短信
等级:六尾狐 帖子:1427 积分:11354 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2015/9/6 17:56:00 [只看该作者]

这样OK了。

 回到顶部