Access 子查询

select 法院,(公正 * (SELECT gzpar FROM parameters) + 效率 * (SELECT xlpar FROM parameters) + 效果 * (SELECT xgpar FROM parameters))/100 as 综合指数 from fayuanzhibiao

请问以上语句在ACCESS执行,哪里有问题吗?在SQLServer执行是没问题的。

1. parameters 表要作为查询的源表,Server直接实现
2. 书写根本逻辑错误,综合指数前面的表达式没有哪个数据列在fayuanzhibiao
中。我相信SQL语句是不能这么写的,为什么?字查询返回了多个记录那就是把所有字段匹配所有的记录,ACCESS没有挖掘分析模块,自然运行不了。我打个比方楼主最后查出来的综合指数是一列数据,不是一个数据,那不能在查询里这么写,直接匹配查询可以实现,如果一定是那么书写,那结果就是每条结果都去匹配 fayuanzhibiao表中所有的记录,数据表相当庞大,如果你字查询结果是500条,表中的记录是2000条,那就是500×2000=1000000条记录,做这种事连Server都承受不起追问

parameters这个表里就一行数据

追答

如果只有一条数据那就绝对能执行!
没有了逻辑错误,SQL中引用子查询记录数限制都是1条,上面语句从字面上看上没有错误的,应该确认一下字段数据类型是不是数字,字段有没有写错或真的存在。
你键立两个表实验一下,就发现了,上面语句在子查询这有有条记录的情况下是可行的

追问

是的,在SQL Server里执行没有错误,而且结果正确。但是在Access里执行就不行,会报错。

追答

不会的,ACCESS和SQL一样,我试过,除非是你字段或者表名称写错了,要么就是你的字段数据类型不是整型。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-15
ACCESS上不能执行SQL上能够运行的语句的时候就要变换一下思维了.看能不能用其他的方法来实现呀. 不兼容的情况是时有发生的,转变一下思维就可以啦.

access中的主查询,子查询是什么意思?
一个查询中包含另一个查询,被包含的查询叫做子查询,另一个叫做主查询,主查询是在子查询结果基础上的查询。

Access sql查询提示在子查询中Memo或ole对象无效的解决方法
当在Access SQL查询中尝试合并查询两个表时,若出现提示在子查询中Memo或OLE对象无效的错误,通常是因为作为查询条件的两个表所涉及的字段类型存在差异。例如,其中一方可能使用的是短文本(Short Text)类型,而另一方则使用了长文本(Long Text)类型。这个问题的核心在于,Access在执行SQL查询时,对于不...

Access支持子查询吗?
支持.可参阅ACCESS帮助中JET SQL SQL Subqueries A subquery is a SELECT statement nested inside a SELECT, SELECT...INTO, INSERT...INTO, DELETE, or UPDATE statement or inside another subquery.SELECT * FROM Products...

ACCESS 嵌套查询子查询最多能返回一个记录 什么意思
select * from 学生表 where 所属班级ID in (select 班级ID from 班级表 where 班级名称='一年一班');这里如果把in改成=,那么就会报错,报错内容就是“嵌套查询子查询最多能返回一个记录”。

ACCESS有几种查询的类型,其中操作查询又分为哪几种
Access提供了5种类型的查询,包括选择查询、参数查询、交叉表查询、操作查询和SQL查询。1.选择查询 选择查询是最常见的查询类型,它从一个或多个表中检索数据,在一定的限制条件下,还可以通过选择查询来更改相关表中的记录。使用选择查询也可以对记录进行分组,并且可对记录进行总计、计数以及求平均值等...

ACCESS查询语句,删除查询
你这个应该使用子查询 delete * from 表名 where 供应商ID in (Selecte 供应商ID from 工程J2供应零件的供应商) 如果你怕出错,可以将开头的delete改为Selecte,先进行查询,然后再修改为delete进行删除即可。

access中查询的类型有哪些?每种查询的功能是什么?
4、操作查询:操作查询是在一个操作中更改许多记录的查询,操作查询又可分为四种类型:删除查询、更新查询、追加查询和生成表查询。5、SQL查询:SQL查询是使用SQL语句创建的查询。经常使用的SQL。查询包括联合查询、传递查询、数据定义查询和子查询等。用于创建或更改数据库中的对象,如Access或SOL Server表...

Access操作中,update A left join B,B可不可以是子查询
是可以的,用在子查询里 如:update a_table set val='test' where id in (select id from b_table a left jion c_table c on a.id=c.id )

ACCESS查询的分类有6+3(特定),但是书上说“分组统计查询”和这个分类是...
最大,最小值等。第三。通常查询设计视图中设计的查询都可以用SQL语句表达。SQL中的SELECT语言内的单表、多表查询、嵌套子查询等,实际上就是查询设计视图中所指的选择查询,单表、多表表示的是选择查询从一个或多个表中取值。嵌套子查询表示先对某数据做选择查询,再对查询的结果再做查询。

有关access中的SQL查询问题
from 是查询对象 向 what 查询 where 是 限制条件,子查询等 from. A where .B..就是从 A表或者A视图等 根据B这个查询条件进行过滤。from xxx inner join xxxx on 呢 是两个表或者视图进行内连接 on呢是接连接的条件 那么出来的结果就是符合on 条件的两个表或者视图的联合结果。

相似回答