ขอความช่วยเหลือจากอาจารณ์ทุกท่าน ช่วยปรับแก้ code ข้างล่างให้หน่อยนะครับ
ถ้าต้องการผป. re-visit 48 ชม. ที่ไม่มีการนัด หมายถึง มาด้วยอาการของโรคเก่าจริงๆ
ไม่ได้ถูกนัดมาฉีดยา รับวัคซีน หรือทำแผล จะต้องทำยังไงครับ
select v.vn,v.hn,concat(p.pname,"",p.fname," ",lname) as fullname,v.vstdate as b_date,v2.vstdate as a_date,
concat(v.spclty," : ",s1.name) as b_spclty,concat(v2.spclty," : ",s2.name) as a_spclty,
concat(v.pdx," : ",i1.name) as b_pdx,concat(v2.pdx," : ",i2.name) as a_pdx,
((to_days(v2.vstdate)*24) - (to_days(v.vstdate)*24)) as revisit_time
from vn_stat as v
left outer join ovst o on o.hn = v.hn and o.vn > v.vn and o.vn is not null
left outer join ovst o2 on o2.vn = o.vn
left outer join vn_stat v2 on v2.vn = o2.vn
left outer join icd101 i1 on i1.code = v.pdx
left outer join icd101 i2 on i2.code = v2.pdx
left outer join spclty s1 on s1.spclty = v.spclty
left outer join spclty s2 on s2.spclty = v2.spclty
left outer join patient p on p.hn = v.hn
where v.vstdate between '2009-07-01' and '2009-07-01' and
(((to_days(v2.vstdate)*24)- ((to_days(v.vstdate)*24)) +
((time_to_sec(o2.vsttime))/3600)) - ((time_to_sec(o.vsttime))/3600))between 0.001 and 48
group by v.hn
having count(v.hn) > 1