Foxtable(狐表)用户栏目专家坐堂 → SQL语句引用表达式问题


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

主题:SQL语句引用表达式问题

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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
SQL语句引用表达式问题  发帖心情 Post By:2015/8/9 21:11:00 [只看该作者]

SQL语句引用表达式问题

sql里面引用了表达式是不行的,看这里http://www.foxtable.com/help/topics/2345.htm

我的问题是,这一句:

cmd.CommandText = "SEL  ECT DISTINCT iif(归档=true,'已完成','进行中') as 归档, Year(日期) As 年 From {测评}"

这句里面的”归档“,实际是一个逻辑列,并指定表达式为:Parent(任务组_测评).归档

这个情况下,应该怎么办呢?
[此贴子已经被作者于2015/8/9 20:48:19编辑过]

[此贴子已经被作者于2015/8/9 21:11:15编辑过]

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


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

Sel ect DISTINCT iif(a.归档 = 1,'已完成','未完成') as 归档,b.第一列 from {父表} as a, {子表} as b

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


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

后面还少了个条件, Where b.外键 = a.[_Identify]
[此贴子已经被作者于2015/8/9 21:32:53编辑过]

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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/8/9 21:55:00 [只看该作者]

完全晕掉了,还是厚着脸皮再问吧:

这是第一句,如果不包含表达式的时候,是对的(感谢大红袍大哥)

cmd.CommandText = "SELE  CT DISTINCT iif(归档=true,'已完成','进行中') as 归档, Year(日期) As 年 From {测评}"

想改造这一句,因为上句的归档,在这个时候实际已经是表达式:Parent(任务组_测评).归档
拼凑了一下,完全看不懂了:

cmd.CommandText ="Sele  ct DISTINCT iif(a.归档 = 1,'已完成','未完成') as 归档,b.所在单位(?第一列?) from {任务组(这是父表} as a, {测评(这是子表)} as b Where b.[_Identify] = a.[_Identify]"



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


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

cmd.CommandText ="Sele  ct DISTINCT iif(a.归档 = 1,'已完成','未完成') as 归档,b.所在单位 from {任务组} as a, {测评} as b Where b.外键 = a.[_Identify]"
这个”外键“指的是你建关联的时候不是要指定一个列和主表的_Identify关联吗?就是哪个键
改完之后你拷贝这个Sql 到执行Sql的窗口调试一下,通过你就加进去

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


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

你如果关联的不是主表的_Identify 的话就把那两个关联的列 替换掉 b.外键 = a.[_Identify]

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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/8/9 22:31:00 [只看该作者]

明白!!!

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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/8/9 23:01:00 [只看该作者]

放弃了,睡觉了,明天做个例子放上来,搞死了

cmd.CommandText ="SELE  CT DISTINCT iif(a.归档 = 1,'已完成','未完成') as 归档,b.所在单位 from {任务组} as a, {测评} as b Where b.[任务组编号]=a.[任务组编号]"

此句还是有问题

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:
详细错误信息:
无效的 SQL语句;期待 'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或 'UPDATE'。


谢谢给魏老大了,


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


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

不要加方括号了,_Identify比较特殊要加

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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/8/10 9:02:00 [只看该作者]

没加方括号,一样的报错,一样的提示,待会做个例子上来


cmd.CommandText ="SELE  CT DISTINCT iif(a.归档 = 1,'已完成','未完成') as 归档,b.所在单位 from {任务组} as a, {测评} as b Where b.任务组编号=a.任务组编号"

 回到顶部
总数 12 1 2 下一页