从另一个表中的表和详细信息中获取计数

时间:2014-12-06 11:39:43

标签: sql-server

我有两个表,其中一个包含下一个

___________________________________
||         Hospital Table        || 
||_______________________________||
|| Hospital_no  || Hospital_name ||
||                               ||

和另一个

___________________________________
||     Doctor Table              ||
||_______________________________||
|| Doctor_no    || Hospital_no   ||
||                               ||

哪位医生.Hospital_no与Hospital.Hospital_no相关联 而且我不会得到

______________________________________________________
|| Hospital_name | number of doctors in the hospital
||                                                  ||

我该怎么做

3 个答案:

答案 0 :(得分:0)

试试这个:

select HP.Hospital_name,COUNT(DT.Doctor_no) as
NoOfDoctors
 from HospitalTable HP
Left join DoctorTable DT
ON HP.Hospital_no=DT.Doctor_no
GROUP BY HP.Hospital_name

答案 1 :(得分:0)

SELECT H.Hospitel_name , 
       count(*) "#Doctors"
FROM 
Hospital H 
INNER join 
Doctor D 
ON 
(H.Hospitel_no = D.Hospitel_no)
GROUP BY H.Hospitel_name ;
GO

答案 2 :(得分:0)

我没有检查它,但它看起来像你想要的(使用cross apply

SELECT Hospital_name,count( Doctor_no    )
FROM Hospital 
CROSS APPLY
(SELECT  Doctor_no 
FROM Doctor  d
WHERE Hospital.Hospital_no  =  Doctor.Hospital_no ) x
相关问题