简体   繁体   English

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

[英]Why does not this expression work in MS-ACCESS SQL View

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;

I am getting我正进入(状态

in query expression.在查询表达式中。 (Error 3075) (错误 3075)

error with this code.此代码错误。 What should I change我应该改变什么

you're group by statement is not correct:你的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;

Learn to use proper JOIN syntax.学习使用正确的JOIN语法。 In MS Access, this looks like:在 MS Access 中,这看起来像:

SELECT P.Pname, D.Dname,
       COUNT(WO.Essn), 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;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM