我有两个表,其中一个包含下一个
___________________________________
|| 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
|| ||
我该怎么做
答案 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