ผมได้โจทย์มาว่า 2-13 มิ.ย. 57 แพทย์ต้องการทราบว่าตัวเอง ตรวจคนไข้ไปเท่าไหร่ต่อวัน และเอาเฉพาะช่วงเวลา 8:30-16:30 น. ผมก็เขียนคร่าวๆ ดังนี้
select o.vstdate,o.vsttime,o.hn,d.*,dt.name,concat(p.pname,p.fname,' ',p.lname) as ptname ,t.name as pttype_name
from pq_doctor d
left outer join doctor dt on dt.code = d.doctor
left outer join ovst o on o.vn = d.vn
left outer join patient p on p.hn = o.hn
left outer join pttype t on t.pttype = o.pttype
where d.doctor in ("0076","0091","0157","0208","0229","0230") and (d.doctor_date between '2014-06-02' and '2014-06-06'
or d.doctor_date between '2014-06-09' and '2014-06-13')
and d.doctor_time between "08:30:00" and "16:30:00"
order by doctor_date,doctor_time
คำถามต่อจาก Query นี้คือ หากผมต้องการเอาวันหยุดนัดขัตฤกษ์ มากำหนดเป็นช่วงเวลาที่ต้องการ ต้องทำยังไงครับ???