คือผมต้องการสร้างรายงานตรวจสอบการใช้ยาที่มีมูลค่าสูง ที่จ่ายเกินกว่า 365 เม็ด/ปี(เนื่องจากยากินวันละ 1 เม็ด)
ก็เลยสร้างรายงานหน้าตาออกมาตามรูปที่แนบ แต่สังเกตดูว่าข้อมูลที่ออกมาไม่ค่อยตรงความเป็นจริงซักเท่าไหร่ ทั้งจำนวนครั้งที่มา และจำนวนยารวม คือไม่ว่าจะเปลี่ยนชื่อยาไปเป็นยาตัวไหนจำนวนก็ไม่เปลี่ยนข้อมูลตามชื่อยา
script ที่ใช้ ดังนี้ครับ
begin
GetDateRangeDialog(date1, date2);
bdate := Formatdatetime('yyyy-mm-dd',date1);
edate := Formatdatetime('yyyy-mm-dd',date2);
drug := GetPickupList('select concat(name," ",strength) as drugname from drugitems where icode in("1480778","1480603","1480674","1480717","1480679","1510012","1490031","1480641","1480625") order by name,strength');
drugcode := GetSQLStringData('select icode from drugitems where concat(name," ",strength)="'+drug+'"');
ChangeReportSQL('select o.vn,o.icode,count(qty)as time,o.qty,sum(qty)as sum_qty,o.hn,concat(p.pname,p.fname," ", p.lname) as ptname, ' +
'"'+drug+'" as drugname from opitemrece o ' +
'left outer join patient p on p.hn=o.hn ' +
'left outer join drugitems d on d.icode=o.icode ' +
'where o.icode in("1480778","1480603","1480674","1480717","1480679","1510012","1490031","1480641","1480625") ' +
'and o.rxdate between "'+ bdate +'" and "'+ edate+'"' +
'group by o.hn ' +
'having sum_qty>365 ' +
'order by sum_qty');
end;