以文本方式查看主题 - 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语句引用表达式问题
[此贴子已经被作者于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.任务组编号"
|