为什么这个表达式在 MS-ACCESS SQL 视图中不起作用

问题描述

SELECT
    Pname,Dname,COUNT(WO.Essn),SUM(WO.Hours)
FROM
    PROJECT AS P,WORKS_ON AS WO,DEPARTMENT AS D
WHERE
    P.Dnum = D.Dnumber
    AND P.Pnumber = WO.Pno 
GROUP_BY Pno
HAVING
    COUNT(WO.Essn) > 1;

我要了

查询表达式中。 (错误 3075)

代码出错。我应该改变什么

解决方法

您的 group by 陈述不正确:

SELECT
    Pname,Dname,COUNT(WO.Essn),SUM(WO.Hours)
FROM
    PROJECT AS P,WORKS_ON AS WO,DEPARTMENT AS D
WHERE
    P.Dnum = D.Dnumber
    AND P.Pnumber = WO.Pno
GROUP BY  
    Pname,Dname
HAVING
    COUNT(WO.Essn) > 1;
,

学习使用正确的 JOIN 语法。在 MS Access 中,这看起来像:

SELECT P.Pname,D.Dname,SUM(WO.Hours)
FROM (PROJECT AS P INNER JOIN
      WORKS_ON AS WO
      ON P.Pnumber = WO.Pno 
     ) INNER JOIN
     DEPARTMENT AS D
     ON P.Dnum = D.Dnumber
GROUP_BY P.Pname,D.Dname
HAVING COUNT(WO.Essn) > 1;