2014-12-02 8 views
5

Ho 2 tabelle, "T_COMMON_COUNTRY" e "T_HEI_STUDENTDATA". usando LEFT JOIN mi sono iscritto queste tabelleUnire 2 tabelle e contare il numero del campo specifico di occorrenza in SQL

questa è la mia domanda

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

ora io' sempre vista come questo

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

voglio Contare il numero di studenti (Student_IDs) si riferiscono ad un paese ,

voglio avere una visione esattamente come qui di seguito

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

risposta

4

Usa COUNT funzione per generare contare studente Countrywise

Prova questa:

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

questo funziona bene, in precedenza ho provato con conteggio, grazie mille – kez

+0

@kez Siete i benvenuti ... –

0

funzione Usa COUNT per contare il numero di studenti GROUP BY country_id e Paese.

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] 
Problemi correlati