BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: panus_t ที่ เมษายน 04, 2014, 14:00:19 PM
-
หาจำนวน pt icd10 F70-F79 2 แบบไม่เท่ากัน
แบบที่ 1 ได้ 0 ราย
select count(ov.hn) as chn
from vn_stat ov, ovst ovst, patient pt
where ov.vn=ovst.vn and pt.hn=ov.hn and ov.vstdate between "2013-10-01" and "2013-10-31"
and ov.age_y>= 0
and ov.age_y<= 200
and ( (ov.pdx = "F70")
or (ov.dx0 = "F70")
or (ov.dx1 = "F70")
or (ov.dx2 = "F70")
or (ov.dx3 = "F70")
or (ov.dx4 = "F70")
or (ov.dx5 = "F70")
or (ov.pdx = "F71")
or (ov.dx0 = "F71")
or (ov.dx1 = "F71")
or (ov.dx2 = "F71")
or (ov.dx3 = "F71")
or (ov.dx4 = "F71")
or (ov.dx5 = "F71")
or (ov.pdx = "F72")
or (ov.dx0 = "F72")
or (ov.dx1 = "F72")
or (ov.dx2 = "F72")
or (ov.dx3 = "F72")
or (ov.dx4 = "F72")
or (ov.dx5 = "F72")
or (ov.pdx = "F73")
or (ov.dx0 = "F73")
or (ov.dx1 = "F73")
or (ov.dx2 = "F73")
or (ov.dx3 = "F73")
or (ov.dx4 = "F73")
or (ov.dx5 = "F73")
or (ov.pdx = "F74")
or (ov.dx0 = "F74")
or (ov.dx1 = "F74")
or (ov.dx2 = "F74")
or (ov.dx3 = "F74")
or (ov.dx4 = "F74")
or (ov.dx5 = "F74")
or (ov.pdx = "F75")
or (ov.dx0 = "F75")
or (ov.dx1 = "F75")
or (ov.dx2 = "F75")
or (ov.dx3 = "F75")
or (ov.dx4 = "F75")
or (ov.dx5 = "F75")
or (ov.pdx = "F76")
or (ov.dx0 = "F76")
or (ov.dx1 = "F76")
or (ov.dx2 = "F76")
or (ov.dx3 = "F76")
or (ov.dx4 = "F76")
or (ov.dx5 = "F76")
or (ov.pdx = "F77")
or (ov.dx0 = "F77")
or (ov.dx1 = "F77")
or (ov.dx2 = "F77")
or (ov.dx3 = "F77")
or (ov.dx4 = "F77")
or (ov.dx5 = "F77")
or (ov.pdx = "F78")
or (ov.dx0 = "F78")
or (ov.dx1 = "F78")
or (ov.dx2 = "F78")
or (ov.dx3 = "F78")
or (ov.dx4 = "F78")
or (ov.dx5 = "F78")
or (ov.pdx = "F79")
or (ov.dx0 = "F79")
or (ov.dx1 = "F79")
or (ov.dx2 = "F79")
or (ov.dx3 = "F79")
or (ov.dx4 = "F79")
or (ov.dx5 = "F79")
)
แบบที่ 2 ได้ 1 ราย
select count(ov.hn) as chn
from vn_stat ov, ovst ovst, patient pt
where ov.vn=ovst.vn and pt.hn=ov.hn and ov.vstdate between "2013-10-01" and "2013-10-31"
and ov.age_y>= 0
and ov.age_y<= 200
and ( (ov.pdx >= "F70" and ov.pdx <= "F79")
or (ov.dx0 >= "F70" and ov.dx0 <= "F79")
or (ov.dx1 >= "F70" and ov.dx1 <= "F79")
or (ov.dx2 >= "F70" and ov.dx2 <= "F79")
or (ov.dx3 >= "F70" and ov.dx3 <= "F79")
or (ov.dx4 >= "F70" and ov.dx4 <= "F79")
or (ov.dx5 >= "F70" and ov.dx5 <= "F79") )
ฝากทีมงาน...ช่วยตรวจสอบให้หน่อยนะครับ
-
ผมว่าไม่แปลกนี่ครับ เนื่องจากรหัส ICD10 ที่ระบุ มันมีตัวย่อยด้วย ทำให้ค่าที่หาได้มากกว่าแบบไม่มีตัวย่อยครับ
เช่น F70 หากมีตัวย่อย เช่น F709 ก็ทำให้การหาจำนวนแตกต่างกันได้อยู่แล้วครับ
-
ใช่ครับ ไม่แปลกเลย
Panus_t ต้องทำความเข้าใจกับ sql ให้ดีอีกนิดครับ
-
รับทราบครับ
เป็นอย่างนี้นี่เอง ;D
-
เงื่อนไข หลัง WHERE
แบบแรก
ov.pdx = "F70"
pdx ต้อง เท่ากับ F70 เท่านั้น จึงจะทำให้เงื่อนไขถูกต้องครับ
แบบสอง
ov.pdx >= "F70" and ov.pdx <= "F79"
pdx ต้อง อยู่ระหว่าง F70 หมายความว่า F70,F71,F72,F73,F74,F75,F76,F77,F78,F79 ครับ