อ้อ...อ.กิจไปทำ left outer join ระหว่าง ovst_presc_ned กับ opitemrece โดยกำหนดเงื่อนไขการ join ไม่ครบ จึงได้มาหลาย record จึงต้องใช้ o.income เข้ามาช่วย แล้วยังต้อง group ด้วย
select o.icode as s,o.qty,o.unitprice,(o.unitprice*o.qty) as sprice,o.income,concat(d.name,' ',strength) as drugname,
d.units,o.vstdate,o.rxdate,o.hn,v.age_y,concat(p.pname,fname,' ',lname) as patientname,o.sum_price,o.*,
concat(i.code,' ' ,i.name) as diag,op.presc_reason,concat('( ',dt.name,' )') as doctor_name
from ovst_presc_ned op
left outer join opitemrece o on o.vn=op.vn
left outer join drugitems d on d.icode=o.icode
left outer join vn_stat v on v.vn=o.vn
left outer join patient p on p.hn=o.hn
left outer join doctor dt on dt.code=op.doctor
left outer join icd101 i on i.code=v.pdx
where o.vn like '530629011741' and op.doctor = '0115'
group by o.icode
ถ้าจะให้เหลือเฉพาะรายการที่เป็น ned (ที่อยู่ในตาราง ovst_presc_ned) ต้องกำหนดเงื่อนไขเพิ่ม เป็น
left outer join opitemrece o on o.vn=op.vn and o.icode=op.icode
ครับ
ลองใช้อันที่ผมแก้ไข ของอ.กิจนะครับ