问题描述
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;
我要了
解决方法
您的 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;