BMS-HOSxP Community
HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: NUI ที่ มีนาคม 26, 2019, 18:03:23 PM
-
รบกวนอาจารย์ทุกท่านหน่อยครับ
เนื่องจากผมพึ่งเข้างานใหม่ ยังไม่ค่อยคุ้นเคยกับแต่ละตาราง จะ query อะไรแต่ละทีก็จะยากหน่อย กลัวอย่างนึงคือกลัวผิดตารางครับ
วันนี้เลยจะขอความฃ่วยเหลือหน่อยครับ
1.ผมต้องการข้อมูลผู้ป่วยที่ ReVisit ใน 72 ชม ด้วยโรคเดิม
2. ตารางหลักคือ icd101 ครับ เพราะจะนับว่าโรคนั้นมีคนกลับมารักษารอบที่ 2 เป็นต้นไปกี่ครั้งแล้วครับ
ผมอยากทราบว่าต้อง query ตารางใหนกับตารางใหนบ้างครับ ตอนนี้จับทางได้ว่า patient+icd101 รบกวนบอกตารางที่จำเป็นให้ผมหน่อยครับ
"ขอบคุณครับ"
-
ถ้าโรคเดิมคือ principal diagnosis ก็สามารถใช้จาก vn_stat ได้ครับ
select v.*,p.pname,p.fname,p.lname
from vn_stat v , ovst o ,patient p
where v.vstdate between 'yyyy-mm-dd' and 'yyyy-mm-dd'
and v.old_diagnosis = 'Y' and v.lastvisit_hour <= 72
and v.vn = o.vn and o.hn = p.hn
ถ้าจะเอา icd101 เป็นตารางหลัก
select i.code,i.name,count(v.vn) as visit_count
from icd101 i
left outer join vn_stat v on v.old_diagnosis = 'Y' and v.lastvisit_hour <= 72 and v.pdx = i.code
and v.vstdate between 'yyyy-mm-dd' and 'yyyy-mm-dd'
group by i.code,i.name
เขียนแบบ equi join
select i.code,i.name,count(v.vn) as visit_count
from icd101 i, vn_stat v
where v.old_diagnosis = 'Y' and v.lastvisit_hour <= 72
and v.pdx = i.code and v.vstdate between 'yyyy-mm-dd' and 'yyyy-mm-dd'
group by i.code,i.name
-
ขอบพระคุณมากๆครับอาจารย์