首先,您應該使用明確的join
語法。其次,你需要通過所有未參數的聚合函數的列聚合:
SELECT EMP_ID, EMP_LNAME, EMP_FNAME, ASSIGN_ID, ASSIGN_COMP, SOFTWARE.SFT_ID, COUNT(SFT_TITLE)
FROM EMPLOYEE JOIN
ASSIGN_PC
ON EMPLOYEE.EMP_ID = ASSIGN_PC.ASSIGN_EMP CROSS JOIN
SOFTWARE
GROUP BY EMP_ID, EMP_LNAME, EMP_FNAME, ASSIGN_ID, ASSIGN_COMP, SOFTWARE.SFT_ID;
我不知道這種查詢的目的是什麼,但可以肯定的看起來缺少join
條件到software
表。我的猜測是,你真的想要這樣的東西:
SELECT EMP_ID, EMP_LNAME, EMP_FNAME, ASSIGN_ID, ASSIGN_COMP, SOFTWARE.SFT_ID, COUNT(SFT_TITLE)
FROM EMPLOYEE JOIN
ASSIGN_PC
ON EMPLOYEE.EMP_ID = ASSIGN_PC.ASSIGN_EMP JOIN
SOFTWARE
ON ASSIGN_PC.SFT_ID = SOFTWARE.SFT_ID
GROUP BY EMP_ID, EMP_LNAME, EMP_FNAME, ASSIGN_ID, ASSIGN_COMP, SOFTWARE.SFT_ID;
嗨戈登感謝您的意見。查詢的目的是顯示每個軟件標題的安裝次數。運行第二組命令時出現00904錯誤。第一套運作良好。謝謝你的幫助! – Joe 2014-10-31 02:20:21