BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: ittipol ที่ ตุลาคม 25, 2007, 16:30:32 PM

หัวข้อ: รายงานทันตกรรม
เริ่มหัวข้อโดย: ittipol ที่ ตุลาคม 25, 2007, 16:30:32 PM
อาจารยืครับคือผมมีปัญหาเรื่องรายงานอยากให้อาจารย์แนะนำหน่อยครับ คือ
ทันตกรรมอยากได้รายงานเด็กอายุ 13-14 ปี ที่มาตรวจฟันกี่คน/ครั้ง แยกตามสิทธิด้วยครับ
ในส่วนของนับตามครั้งผมทำได้แล้วแต่ในส่วนของคน ซึ่งต้องใช้ HN ซึ่งมีกรณีที่มันซำกันอยู่นะครับเลยไม่รู้ว่าจำนับยังไงนะครับฝากอาจารย์แนะนำด้วยครับ

select p.pttype,p.name,count(o.hn) as count_hn
from dtmain dt
left outer join ovst o on o.vn=dt.vn
left outer join vn_stat vn on vn.vn = dt.vn
left outer join pttype p on p.pttype = o.pttype
where o.vstdate between "2007-09-01" and "2007-09-31" and vn.age_y in ('13','14')
group by  p.pttype,p.name
หัวข้อ: Re: รายงานทันตกรรม
เริ่มหัวข้อโดย: SrWooD ที่ ตุลาคม 25, 2007, 17:51:36 PM
ลองแบบนี้ดูครับ

select p.pttype,p.name,count(dt.vn) as cnt_vn,count(distinct dt.hn) as cnt_hn
from dtmain dt
left outer join vn_stat vn on vn.vn = dt.vn
left outer join pttype p on p.pttype = vn.pttype
where dt.vstdate between "2007-09-01" and "2007-09-31" and dt.vstage in ("13","14")
group by  p.pttype,p.name

cnt_hn = คน
cnt_vn = ครั้ง