sql server中的查询表达式中存在语法错误(缺少运算符)

j5fpnvbx  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(283)

我有一些sql代码,当我运行它时,我得到一个错误:

SELECT AVG (DISTINCT E.salary) AS avrage
FROM aircraft AS A, certified AS C, employees AS E
WHERE A.cruisingrange > 1000 
  AND A.aid = C.aid 
  AND C.eid = E.eid

错误:

如何修复此错误?

yqhsw0fo

yqhsw0fo1#

ms access不直接支持 DISTINCT 聚合函数内部的语法。这里的一个解决方法是取一个子查询的平均值,该子查询查找不同的薪资:

SELECT AVG(salary) AS avrage
FROM
(
    SELECT DISTINCT E.salary
    FROM (aircraft AS A
    INNER JOIN certified AS C ON A.aid = C.aid)
    INNER JOIN employees AS E ON C.eid = E.eid
    WHERE A.cruisingrange > 1000
) t;

注意,我还将旧的隐式连接语法转换为现代的显式连接语法。这是目前编写sql的首选方法。

相关问题