2014-12-02 12 views
5

2 tablo var, "T_COMMON_COUNTRY" ve "T_HEI_STUDENTDATA." katılmak sola kullanarak ben (Student_IDs) öğrenci sayısını istediğiniz bu2 tabloya katılın ve SQL'ye özgü olayı belirli bir alana sayın.

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

gibi görünüm elde' bir ülke ile ilgili bu tabloları

bu şimdi benim sorgu

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

olduğunu katıldı ,

tam

| Country ID |  County  | Students | 
|  1  |  USA  |  2 | 
|  2  |  UK   |  2 | 
01 aşağıdaki gibi bir görünüm elde istiyorum

cevap

4

Kullanım COUNT fonksiyon countrywise öğrenci

bu deneyin saymak oluşturmak için:

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

şu Çoğu şey değil @kez çok – kez

+0

, daha önce ben sayımı ile çalıştı sayesinde iyi çalışır ... –

0

Kullanım COUNT fonksiyonunu öğrencileri GROUP BY country_id ve Ülke sayısını saymak için.

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] 
İlgili konular