以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- select语句报错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=74221) |
-- 作者:bahamute -- 发布时间:2015/9/6 16:09:00 -- select语句报错 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编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/9/6 16:14:00 -- 报什么错?不应该报错。 |
-- 作者:大红袍 -- 发布时间:2015/9/6 16:16:00 -- 哦,是你括号的问题,括号要用英文状态下的(),不要用() |
-- 作者:bahamute -- 发布时间:2015/9/6 16:18:00 -- 语法错误 (操作符丢失) 在查询表达式 \'Round([上月实发]-[实发工资],2) as 实发差额 From [~TMPCLP生成表]\' 中。 |
-- 作者:大红袍 -- 发布时间:2015/9/6 16:19:00 -- 看3楼 |
-- 作者:bahamute -- 发布时间: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
|
-- 作者:大红袍 -- 发布时间: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 -- 发布时间: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编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/9/6 17:42:00 -- 设置一下列格式 t.DataTable.DataCols("实发差额").SetFormat("0.00")
|
-- 作者:bahamute -- 发布时间:2015/9/6 17:56:00 -- 这样OK了。 |