【发布时间】:2017-02-24 19:29:49
【问题描述】:
我被要求找出死于龋齿的患者人数。
尤其是我对如何将COUNT() 与SELECT 子句一起使用感到有些困惑。
入院-诊断:
Adm_ID //Admission Number(入院)
Diag_ID //诊断ID
录取:
Adm_ID //Admission Number(入院)
Pat_ID //患者ID
Date_Adm //录取日期
Date_Discharge //放电日期
Health_ID //出院时患者的健康状况
我的尝试:
首先,从入院-诊断表中,我得到了那些因为龋齿而去医院的病人
SELECT *
FROM Adm_Diag
WHERE Diag_ID = 900 /*900 code for caries
然后我找到患者出院时的健康状况为“死亡”的入院 ID
SELECT *
FROM Admission
WHERE Health_ID = 23 /* 23: code for 'Die'
然后我将这两个表合并,找到了患者死于龋齿的入院 ID
SELECT e1.Adm_ID, Diag_ID, Health_ID
FROM (SELECT *FROM Adm_diag WHERE diag_ID = 900) e2,
(SELECT *FROM admission WHERE Health_id=23) e1
WHERE e2.Adm_ID=e1.Adm_ID
但我在“计数”部分遇到了麻烦。我真的不知道如何同时使用 count 和 select 子句。我试图将所有内容都放入计数(COUNT(SELECT e1.Adm_ID, Diag_ID, Health_ID...)但它不起作用。
顺便说一句,当我创建数据库时,我说一名患者因此而死亡(:
【问题讨论】:
标签: mysql