ถ้าเป็นลักษณะแบบนี้พอได้ไหมครับ นั่งคิดและลองเขียนใหม่อยู่นาน ไม่รู้ว่าถูกต้องไหม
select op.vn,op.hn,op.an,concat(pt.pname,'',pt.fname,' ',pt.lname)as ptname,v.pdx,op.vstdate,dr.name,op.qty,dr.unitprice,op.cost,op.sum_price,(op.cost*op.qty)as cost_total
from opitemrece op
left outer join drugitems dr on dr.icode=op.icode
left outer join patient pt on pt.hn=op.hn
left outer join vn_stat v on v.vn=op.vn
left outer join opitemrece_summary ot on ot.hos_guid=op.hos_guid
where op.vstdate between"20110601"and"20110601"
and op.income ="03"
and ot.department ="opd" <=== แก้ ประเภทผู้ป่วยตรงนี้ครับ
order by op.vstdate,op.hn