为什么这个表达式在 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;
我得到
in query expression . (Error 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,
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;
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;
我得到
in query expression . (Error 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,
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;