Access911.net   |   a9BBS   |   OTaA System  
  搜索文章:  
Access911欢迎您光临  
   主页      上传      繁體版       论坛     
设为首页  |  加入收藏   
  
你现在的位置:文章索引 -> 文章分类 -> 查询  
 首页|  近日更新|  下载  |  文章索引  |  搜索|  术语|  承接工程|  
 
系统正在加载内容,请耐心等待...
 
 查询
 窗体
 报表
 
 
 VBA
 函数
 ADO/DAO/ADO.NET
 API
 ADP
 安全
 发布
 OA
 ASP/ASP.NET
 其他语言
 控件
 DELPHI
 C#/.Net
 本站
 其他
 小例程
 常用软件
 参考文档
 业主作品
 网友大作
 
 
友情链接
 access911.net
 
访问人次
 1702335
 
站长 E-Mail
 net911@sina.com
 access911@gmail.com
 
RSS 订阅

显示附加信息 >>>

SQL中语法错误(操作符丢失)问题,有关DISTINCT

作者:cg1  摘自:access911.net  :cg1  更新日期:2003-11-21  浏览人次:

 

问题:


select count(distinct skr) as num from skr


SELECT SUM ( DISTINCT 进货量 ) FROM 进库单;


ACCESS中说这个是
语法错误(操作符丢失)
怎么回事啊?

 

回答:

这种写法是 SQL SERVER 中的T-SQL的写法吧?
JET SQL中不支持这种法
你可以使用套嵌来解决。
select sum(a.进货量) from (SELECT DISTINCT 进货量 FROM 进库单) a;


select count(b.str) from (select distinct skr from skr) as b

示例下载:http://access911.net/down/eg/eg_DISTINCT_sum.rar
 (9KB)

 


以下摘自 ACCESS 2003 帮助

Microsoft Jet 数据库引擎 SQL 和 ANSI SQL 的比较
Microsoft Jet 数据库引擎 SQL通常属于 ANSI-89 Level 1。然而,ANSI SQL 的某些功能在 Microsoft Jet SQL 中没有实现。随着 Microsoft Jet 4.X 版的发行,可以看出 Microsoft OLE DB Provider for Jet 使用了更多的 ANSI-92 SQL 语法。相反地,在 ANSI SQL 中也不支持 Microsoft Jet SQL 所包含的某些保留字和性能。

主要的差异
Microsoft Jet SQL 和 ANSI SQL 都有不同的保留字和数据类型。欲知更多信息请看 Microsoft Jet 数据库引擎 SQL 保留字s和等效的 ANSI SQL数据类型。将 Microsoft OLE DB Provider for Jet 与 Jet 4.X 协同使用,会有额外的保留字。 
Between...And 的构造应用了不同的规则,语法如下: 
expr1 [NOT] Between value1 And value2 

在 Microsoft Jet SQL 中,value1 可以大于 value2; 而在 ANSI SQL 中,value1 则必须等于或小于 value2。 

Microsoft Jet SQL支持 ANSI SQL 通配符 和 Microsoft Jet-specific 通配符与 Like 运算符一起使用。 ANSI或 Microsoft Jet 通配符 是互相排斥的。你只能用其中一组,不能同时使用。仅当使用 Jet 4.X 和 Microsoft OLE DB Provider for Jet 时,ANSI SQL 通配符才可用。若尝试通过 Microsoft Access 或 DAO 使用 ANSI SQL 通配符,则会将其解释为原义字符。当使用 Microsoft OLE DB Provider for Jet 和 Jet 4.X 时,情形恰好相反。
 

符合字符 Microsoft Jet SQL ANSI SQL 
任何单一字符 ? _(下划线) 
零个或多个字符 * % 


Microsoft Jet SQL 通常限制的比较少。例如,它允许在表达式中进行分组和排序。 
Microsoft Jet SQL 提供了更强有力的表达式。 
Microsoft Jet SQL 的加强功能
Microsoft Jet SQL 提供了下列加强功能:

     TRANSFORM 语句支持连接查询 

附加合计函数s, 如 StDev 和 VarP 
     PARAMETERS说明语句定义参数查询

Microsoft Jet SQL 不支持的 ANSI SQL 功能
Microsoft Jet SQL 不支持下列 ANSI SQL 的功能: 

DISTINCT 合计函数引用。例如,Microsoft Jet SQL 不允许 SUM(DISTINCT 字段名)。 
用来限制查询返回行数的 LIMIT TO nn ROWS 子句。你可以只用 WHERE 子句限定查询的范围。 
请参阅
等效的 ANSI SQL 数据类型 Microsoft Jet 数据库引擎 SQL 的保留字 
Like 运算符 (Microsoft Jet SQL) SQL 合计函数(SQL) 
Microsoft Jet 数据库引擎 SQL 的数据类型 在字符串比较中使用通配符 


 

 
相关文章
     没有手动相关文章
     select distinct 以后如何按指定顺序排序,比如按输入顺序,而不是默认的按字母顺序排序?
 
评论
     查看或发表更多的评论,请单击这里。
 
 
 
 
 
   
  Access911.net   |   a9BBS   |   OTaA System   |
建站日期:2000年4月2日  |  设计施工:陈格 ( access911 & cg1 )
 Copyright © 2000 - 2003 COMET, 陈格 保留所有权利