...เลยลองๆ พยายามเปลี่ยนเงื่อนไขคำสั่งของรายงานใหม่แต่ไม่รู้ว่าจะ OK หรือเปล่าเพราะยังไม่ค่อยชำนาญน่ะครับ..เป็น..
select o.oapp_id,concat(p.pname,p.fname,' ',p.lname) as ptname,
c.name as clinic_name,d.name as doctor_name,o.app_user, o.hn,
o.vstdate as oapp_date,max(v.vstdate) as ovst_date,o.nextdate,o.note,o.vn
from oapp o
left outer join patient p on p.hn=o.hn
left outer join clinic c on c.clinic=o.clinic
left outer join doctor d on d.code=o.doctor
left outer join ovst v on v.hn=o.hn
where o.nextdate between '2007-05-03' and '2007-05-03' and o.clinic='002'
and o.hn not in (select o.hn from oapp o
left outer join ovst v on v.hn = o.hn
where v.vstdate between '2007-05-03' and '2007-05-03'
and v.vstdate = o.nextdate)
group by o.hn
order by o.nextdate,o.clinic,p.fname asc
แต่ว่าเงื่อนไขนี้ยังมีข้อจำกัดคือ...
...ถ้าในช่วงเวลาที่เราเลือก มีการนัดหลายครั้ง แล้วมีครั้งหนึ่งครั้งใดที่ผู้ผิดนัดมีการมาตรงกับวันนัด ข้อมูลจะไม่ถูกรายงาน...
...ถ้ามีการมา รพ.ในวันนัด แล้วผ่านการลงทะเบียนแม้จะไม่ได้รับบริการตามที่นัด ก็จะไม่ถูกรายงาน (เพราะดูจากการมา รพ.)...
...ไม่ว่ามาก่อนหรือหลังวันนัดก็จะถูกรายงานว่ามาไม่ตรงการนัด...
ข้อมูลที่ได้เลยอาจจะมีความคลาดเคลื่อนกับข้อมูลผู้ไม่มาตามนัดในระบบคลีนิคพิเศษของ HOSxP อยู่บ้าง..
..คือจริงๆแล้วไม้รู้ว่าข้อมูลผู้ไม่มาตามนัดในระบบคลีนิคพิเศษนั้น อาจารย์ใช้คำสั่งอะไรดึงมาจากตารางใหนบ้างนะครับ(เห็นมีตาราง clinic_visit อยู่ด้วยแต่จะไม่มีข้อมูลของโรคทั่วไปจะมีเฉพาะคลีนิคที่เลือกว่าต้องมารับบริการต่อเนื่อง) ถ้าท่านใดมีความรู้พอจะแนะนำได้ คงต้องขอรบกวนช่วยแนะนำด้วยนะครับ.....