ถึง อาจารย์ และพี่ๆน้องๆ ทุกท่าน
ขอบอกตามตรงครับว่ามีแค่ความรู้พื้นฐานจริง เรื่องของเรื่องคือว่า กลุ่มงานวิจัยและวิชาการ ของ รพ. จะทำวิจัยจากการมารับบริการของผู้ป่วย มีกลุ่มเป้าหมายแยกตามช่วงอายุ
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 ปี จะนับซ้ำกันที่ จำนวนเดือน
แต่ก็คิดว่าถ้านำเอา วันที่มารับบริการครั้งแรก - วันเกิด น่าจะแบ่งช่วงอายุได้ง่ายกว่ารึป่าว แต่คำสั่งจะเขียนนี่สิครับ
ต้องขอรบกวน อาจารย์ และพี่ๆน้องๆ ทุกท่าน ด้วยครับ