ต้องการหา จำนวนครั้ง จำนวนคน ค่าใช้จ่ายรวม แยกตามสิทธิการรักษา โดยมารับบริการนอกเวลาราชการ ของงานทันตกรรมครับ แต่ติดปัญหาว่า ตาราง dtmain เก็บข้อมูลเป็นรายหัตถการ พอนำไป join กับตาราง vn_stat แล้ว มันจะคำนวนเบิ้ลครับ ทำให้ยอดไม่ตรง ไม่ทราบว่าต้องแก้ไขอย่างไรครับ
select v.pttype,count(v.vn) as vn,count(distinct v.hn) as hn,sum(v.income) as income,p.name
from dtmain d
left outer join vn_stat v on d.vn=v.vn
left outer join pttype p on v.pttype=p.pttype
where d.vstdate between "2014-01-01" and "2014-05-31"
and d.vsttime > "16:00:00"
group by v.pttype