2014-12-02 9 views
5

Mam 2 tabele "T_COMMON_COUNTRY" i "T_HEI_STUDENTDATA." przy użyciu LEFT JOIN dołączyłem te tabeleDołącz do 2 tabel i policz liczbę pól określonego zdarzenia w SQL

to moje zapytanie

SELECT 
    [T_COMMON_COUNTRY].[COUNTRY_ID], 
    [T_COMMON_COUNTRY].[COUNTRY], 
    [T_HEI_STUDENTDATA].[STUDENT_ID] 

FROM ([T_COMMON_COUNTRY] 

LEFT JOIN [T_HEI_STUDENTDATA] 

ON [T_COMMON_COUNTRY].[COUNTRY] = [T_HEI_STUDENTDATA].[STDCOUNTRY]) 

teraz jestem coraz widok jak ten

| Country ID |  County  | Student ID | 
|  1  |  USA  |  12  | 
|  1  |  USA  |  5  | 
|  2  |  UK   |  11  | 
|  2  |  UK   |  2  | 

chcę policzyć liczbę studentów (Student_IDs) odnoszą się do kraju ,

Chcę uzyskać pogląd dokładnie jak poniżej

| Country ID |  County  | Students | 
|  1  |  USA  |  2 | 
|  2  |  UK   |  2 | 

Odpowiedz

4

Zastosowanie COUNT funkcja do generowania liczyć uczeń countrywise

Spróbuj tego:

SELECT C.[COUNTRY_ID], C.[COUNTRY], COUNT(S.[STUDENT_ID]) AS StudentCount 
FROM [T_COMMON_COUNTRY] C 
LEFT JOIN [T_HEI_STUDENTDATA] S ON C.[COUNTRY] = S.[STDCOUNTRY] 
GROUP BY C.[COUNTRY_ID], C.[COUNTRY]; 
+0

to działa dobrze, wcześniej próbowałem z liczyć, dziękuję lot – kez

+0

@kez Nie ma za co ... –

0

Zastosowanie COUNT funkcję policzyć liczbę studentów GROUP BY Country_ID i kraju.

SELECT 
     [T_COMMON_COUNTRY].[COUNTRY_ID], 
     [T_COMMON_COUNTRY].[COUNTRY], 
     COUNT([T_HEI_STUDENTDATA].[STUDENT_ID]) AS Students 

    FROM ([T_COMMON_COUNTRY] 

    LEFT JOIN [T_HEI_STUDENTDATA] 

    ON [T_COMMON_COUNTRY].[COUNTRY] = [T_HEI_STUDENTDATA].[STDCOUNTRY]) 
    GROUP BY [T_COMMON_COUNTRY].[COUNTRY_ID], [T_COMMON_COUNTRY].[COUNTRY]