BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: Yuwa-Hos ที่ กรกฎาคม 16, 2014, 10:34:41 AM

หัวข้อ: รบกวนขอ scrip เพื่อกลุ่มผู้ป่วย ตามช่วงอายุ
เริ่มหัวข้อโดย: Yuwa-Hos ที่ กรกฎาคม 16, 2014, 10:34:41 AM
ถึง อาจารย์ และพี่ๆน้องๆ ทุกท่าน

     ขอบอกตามตรงครับว่ามีแค่ความรู้พื้นฐานจริง เรื่องของเรื่องคือว่า กลุ่มงานวิจัยและวิชาการ ของ รพ. จะทำวิจัยจากการมารับบริการของผู้ป่วย มีกลุ่มเป้าหมายแยกตามช่วงอายุ
     1. ผู้ป่วยใหม่-เก่า ที่มารับบริการครั้งแรกในปีงบประมาณ
     2. แยกตามช่วงอายุ
         0 - 5 ปี
         5 ปี 1 เดือน - 10 ปี
        10 ปี 1 เดือน - 15 ปี
        15 ปี 1 เดือน - 20 ปี
        20 ปี ขึ้นไป
--------------------------------------------------------
ลองเขียนแบบทีละช่วงอายุก่อน (เบสิกจริงๆครับ)
select pt.hn,concat(ov.age_y,' ปี',' ',ov.age_m, ' เดือน') as 'อายุ', x.name, ovst.pt_subtype, ov.pdx
from vn_stat ov ,patient pt ,ovst ovst, sex x
where  ov.vn=ovst.vn and pt.hn=ov.hn and pt.firstday between "2012-10-01" and  "2013-09-30" and ov.hn=pt.hn and ov.sex=x.code
 and ov.age_y>= 5
 and ov.age_y<= 10
 and ov.age_m between "1" and "11"
 group by pt.hn
------------------------------------------------------------
ผลลัพธ์ที่เจอคือ ข้อมูลมันซ้ำกัน อย่าง ผู้ป่วยอายุ 10 ปี, 15 ปี จะนับซ้ำกันที่ จำนวนเดือน
แต่ก็คิดว่าถ้านำเอา วันที่มารับบริการครั้งแรก - วันเกิด น่าจะแบ่งช่วงอายุได้ง่ายกว่ารึป่าว แต่คำสั่งจะเขียนนี่สิครับ
ต้องขอรบกวน อาจารย์ และพี่ๆน้องๆ ทุกท่าน ด้วยครับ