【发布时间】:2011-03-05 19:35:11
【问题描述】:
我想知道我能否在 ms access 数据库中使用的 iif 函数中运行查询。我的情况
Select field1,(iif(3<4,'Select * from tbl1','select * from tbl2')) from tblmain
当我尝试执行这样的查询时遇到语法错误是什么问题
【问题讨论】:
-
我想知道你是否简化了重要的细节,因为我使用子选择作为 IIf() 的返回参数没有任何困难。
-
我可能是错的,因为我没有使用太多子选择,但是您的子选择不需要使用 WHERE 子句链接回您的主查询吗?如果这是问题,我会将其发布为答案...
-
实际上,@Remi,你是对的——我没有注意到问题中的 SELECT 返回所有行和所有字段。即使只有一行和一个字段,我认为它需要更多的限制才能工作。当我设置这样的查询时,我收到错误“您编写的子查询可以在不使用 EXISTS 保留字的情况下返回多个字段...”如果我在 SELECT 中明确指定单个字段但不提供 WHERE 子句,我收到此错误:“子查询最多可以返回一条记录。”我测试了一个相关的子查询,而不是这个混乱!