簡體   English   中英

SQL 服務器中的查詢表達式中的語法錯誤(缺少運算符)

[英]Syntax error (missing operator) in query expression in SQL Server

我有一些 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

錯誤:

在此處輸入圖像描述

我該如何解決這個錯誤?

MS Access 不直接支持聚合 function 內的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 的首選方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM