【发布时间】:2016-08-03 09:03:56
【问题描述】:
我的医院数据库中有四个表。我需要显示所有患者的姓名,对于每个患者,他们不止一次拜访过的医生的姓名,以及拜访这些医生的次数。如果患者没有看过任何医生,或者没有多次看过任何医生,管理层不希望在列表中看到他们。编写一个查询来检索该信息以供管理层使用。
Select * from Medical_History;
Select * from Physician;
Select * from Appointment;
Select * from Patient;
我已经进行了联接查询以及组查询,但我不知道如何组合它们。因为我收到分组错误。因为我需要显示患者去看医生的次数,而且必须不止一次。所以需要帮助。这是 join 和 group 子句:
Select Patient_First_Name, Patient_Last_Name,Physician_First_Name,Physician_Last_Name
from Patient Join Medical_History on Patient.Patient_ID=Medical_History.Patient_ID
Join Physician on Medical_History.Physician_ID=Physician.Physician_ID;
select Physician_ID, count(Patient_ID)
from Medical_History
Group by Physician_ID, Patient_ID;
【问题讨论】:
-
请查看此链接以了解如何改进问题..spaghettidba.com/2015/04/24/…
-
您可以按患者 ID、患者姓名、医师、医师姓名进行分组 - 在您的选择中,您需要将 count() 作为 'numberOfTimesPatentSawConsultant' 并且您需要进行有计数 () > 1
标签: sql sql-server