>>SELECT Visits.Patient_Name >>, count(DISTINCT Visits.Doctor_Name) AS Number_Of_Doctors, >>, count(DISTINCT Doctors.Doctor_Specialty) AS Number_Of_Specialities >>FROM Doctors >>inner join Visits on Doctors.Doctor_Name = Visits.Doctor_Name >>GROUP BY Visits.Patient_Name; >>>
>Find which patients went to two or more doctors with the same specialty on the same day. SELECT V.Patient_Name,V.Visit_Date,D.Doctor_Name,D.Doctor_Specialty FROM (SELECT Visits.Patient_Name,Visits.Visit_Date FROM Doctors inner join Visits on Doctors.Doctor_Name = Visits.Doctor_Name GROUP BY Visits.Patient_Name,Visits.Visit_Date HAVING count(DISTINCT Visits.Doctor_Name)>=2 AND count(DISTINCT Doctors.Doctor_Specialty)=1) X INNER JOIN Visits V ON X.Patient_Name=V.Patient_Name AND X.Visit_Date=V.Visit_Date INNER JOIN Doctors D ON D.Doctor_Name = V.Doctor_Name > >Find which patients went to two or more doctors with different specialties on the same day. SELECT V.Patient_Name,V.Visit_Date,D.Doctor_Name,D.Doctor_Specialty FROM (SELECT Visits.Patient_Name,Visits.Visit_Date FROM Doctors inner join Visits on Doctors.Doctor_Name = Visits.Doctor_Name GROUP BY Visits.Patient_Name,Visits.Visit_Date HAVING count(DISTINCT Visits.Doctor_Name)>=2 AND count(DISTINCT Doctors.Doctor_Specialty)>1) X INNER JOIN Visits V ON X.Patient_Name=V.Patient_Name AND X.Visit_Date=V.Visit_Date INNER JOIN Doctors D ON D.Doctor_Name = V.Doctor_Name