2012-04-23 45 views
1

與此聲明,我得到以下結果行:SQL/DB2 - 只顯示存在3次或更多次

SELECT Employee.Lastname, Employee.Firstnme, EMP_ACT.Projno 
FROM Employee Join EMP_ACT 
On Employee.Empno = EMP_Act.Empno 

結果:

HAAS   CHRISTINE AD3100 
PULASKI   EVA   AD3110 
JEFFERSON  JAMES  AD3111 
JEFFERSON  JAMES  AD3111 
JEFFERSON  JAMES  AD3111 
JEFFERSON  JAMES  AD3111 
JEFFERSON  JAMES  AD3111 

現在我只想顯示行時,存在3次或更多次。最後一列應顯示Projno的數量。

如:傑斐遜JAMES 5

我試着這樣說:

GROUP BY Projno HAVING COUNT(*) >= 3 

,但我總是得到錯誤:/

感謝

回答

4

你所有的希望集團select語句中使用的非聚合列。

SELECT Employee.Lastname, Employee.Firstnme, EMP_ACT.Projno, COUNT(*) 
    FROM Employee 
     Join EMP_ACT 
      On Employee.Empno = EMP_Act.Empno 
    GROUP BY Employee.Lastname, Employee.Firstnme, EMP_ACT.Projno 
    HAVING COUNT(*) >= 3