2016-10-15 10 views
0

虫歯のために死亡した患者の数を調べるように求められます。虫歯のため死亡した患者の数を調べる

特に、私はCOUNT()と一緒にSELECT句を使用する方法について多少混乱しました。

入場-診断:

Adm_ID //アドミッション数(入院)

Diag_ID //診断ID

入場料:

Adm_ID //アドミッション数(入院)

Pat_ID //患者ID

Date_Adm //入学日

Date_Discharge //放電日

Health_ID //退院時の患者の健康

私の試み:

まず、テーブルの入場-診断から私はその後、私は入場IDのための患者を見つけるため虫歯

SELECT * 
FROM Adm_Diag 
WHERE Diag_ID = 900 /*900 code for caries 

の病院に行った患者を得ました「退院時の健康をされて 『』

SELECT * 
FROM Admission 
WHERE Health_ID = 23 /* 23: code for 'Die' 

を死亡それから私は、これら二つのテーブルをマージし、IDの患者はBECを死んだものを入場を見つけました虫歯の使用

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...)を入れようとしていましたが、動作しません。ところで

、私は、データベースを作成したとして、私は一人の患者が、このために死亡したことを置く(:

答えて

1

はあなたが試すことができ:

select count(*) 
from Adm_diag ad 
inner join admission a 
on ad.Adm_ID = a.Adm_ID 
where ad.diag_ID = 900 and a.Health_id=23 
2

あなたはグループでのカウント(*)を使用することができますby

SELECT e1.Adm_ID, e1.Diag_ID, e2.Health_ID, coun(*) 
FROM Adm_diag as a 
INNER JOIN admission on e1.Adm_ID = e.Adm_ID 
WHERE e1.Diag_ID = 900 
AND e2.Health_ID = 23 
group by e1.Adm_ID, e1.Diag_ID 
関連する問題