2012-10-28 20 views
0

AFDELING = DEPARTMENT。 MEDLEM = MEMBER。我想查看每個部門的成員數量,顯示部門名稱,但我似乎無法使其工作。我得到的只是Personnr的重複。使用在SQL中計數

SELECT AFDELING.afdnavn, MEDLEM.personnr, count(*) 
FROM [dbo].[MEDLEM],[dbo].AFDELING 
WHERE AFDELING.afdnr = MEDLEM.afdnr 
GROUP BY AFDELING.afdnavn, MEDLEM.personnr 
GO 

表:

 
AFDELING 
Afdnr (Primary Key) 
Afdnavn 
 
MEDLEM 
Afdnr (foreign key) 
Personnr (foreign key) (Primary key) 

回答

0
SELECT 
    AFDELING.afdnavn 
    , COUNT(MEDLEM.personnr) 
FROM 
    dbo.AFDELING JOIN 
    dbo.MEDLEM ON AFDELING.afdnr = MEDLEM.afdnr 
GROUP BY 
    AFDELING.afdnavn 
1

我覺得你的錯誤是,你被MEDLEM.personnr分組。你只能通過AFDELING.afdnavn需要組,做count

select 
    A.afdnavn, 
    count(*) as number 
from dbo.AFDELING as A 
    inner join dbo.MEDLEM as M on M.afdnr = A.afdnr 
group by A.afdnavn