【问题标题】:Why does not this expression work in MS-ACCESS SQL View为什么此表达式在 MS-ACCESS SQL 视图中不起作用
【发布时间】:2021-06-21 12:29:27
【问题描述】:
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)

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

【问题讨论】:

标签: sql database ms-access database-design


【解决方案1】:

你的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;

【讨论】:

  • 它仍然说 WHERE 语句有问题。
【解决方案2】:

学习使用正确的JOIN 语法。在 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;

【讨论】:

    猜你喜欢
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 2012-08-05
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多