ไม่แน่ใจว่าต้องการอย่างนี้หรือเปล่าครับ ลองเอาไป Run ทดสอบดูครับ ได้ผลอย่างไรแจ้งให้ทราบด้วยครับ
SELECT v.pttype, concat(ovst.vstdate,' ', ovst.vsttime)as time, v.hn, v.cid, p.name, Concat(pt.pname,
pt.fname, ' ', pt.lname) AS name, s.name, v.age_y, v.pdx, d.licenseno,
v.inc01, v.inc02, v.inc03, v.inc04, v.inc05, v.inc06, v.inc07,v.inc08,v.inc09,v.inc10,v.inc11, v.inc12,
v.inc13, v.inc17, v.income
FROM vn_stat v INNER JOIN pttype p ON p.pttype = v.pttype
INNER JOIN patient pt ON pt.hn = v.hn
INNER JOIN doctor d ON d.code = v.dx_doctor
INNER JOIN sex s ON s.code = v.sex
INNER JOIN ovst ON v.vn = ovst.vn and ovst.visit_type in ('I','O') -- I=IPD O=OPD
WHERE v.pttype = 34 AND v.vstdate BETWEEN '2012-01-01' AND '2012-01-31' AND
v.spclty <> 11
ORDER BY v.vstdate