以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQL语句引用表达式问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72961)

--  作者:everybody
--  发布时间:2015/8/9 21:11:00
--  SQL语句引用表达式问题
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编辑过]

--  作者:有点蓝
--  发布时间:2015/8/9 21:29:00
--  
Sel ect DISTINCT iif(a.归档 = 1,\'已完成\',\'未完成\') as 归档,b.第一列 from {父表} as a, {子表} as b
--  作者:有点蓝
--  发布时间:2015/8/9 21:30:00
--  
后面还少了个条件, Where b.外键 = a.[_Identify]
[此贴子已经被作者于2015/8/9 21:32:53编辑过]

--  作者:everybody
--  发布时间: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]"



--  作者:有点蓝
--  发布时间: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的窗口调试一下,通过你就加进去

--  作者:有点蓝
--  发布时间:2015/8/9 22:03:00
--  
你如果关联的不是主表的_Identify 的话就把那两个关联的列 替换掉 b.外键 = a.[_Identify]
--  作者:everybody
--  发布时间:2015/8/9 22:31:00
--  
明白!!!
--  作者:everybody
--  发布时间: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\'。


谢谢给魏老大了,


--  作者:有点蓝
--  发布时间:2015/8/9 23:04:00
--  
不要加方括号了,_Identify比较特殊要加
--  作者:everybody
--  发布时间:2015/8/10 9:02:00
--  
没加方括号,一样的报错,一样的提示,待会做个例子上来


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