2014-12-02 7 views
5

Ich habe 2 Tabellen, "T_COMMON_COUNTRY" und "T_HEI_STUDENTDATA." mit LEFT JOIN trat ich diese TabellenVerknüpfen Sie 2 Tabellen und Zählen Sie die Anzahl der Auftreten spezifischen Feld in SQL

das ist meine Abfrage

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]) 

jetzt ‚ich Ansicht bekommen wie dieses

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

ich die Anzahl der Studenten Count wollen (Student_IDs) beziehen sich auf ein Land ,

möchte ich genau einen Blick bekommen wie unter

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

Antwort

4

Verwenden COUNT Funktion Countrywise Schüler zu generieren diese zählen

Versuchen:

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

das funktioniert gut, zuvor habe ich versucht mit count, danke viel – kez

+0

@kez Sie sind herzlich willkommen ... –

0

Verwenden COUNT Funktion die Anzahl der Studenten GROUP BY country_id und Land zu zählen.

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] 
Verwandte Themen