BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: Bond_007 ที่ สิงหาคม 01, 2011, 09:05:05 AM

หัวข้อ: รายงานสินค้าที่หมดอายุ
เริ่มหัวข้อโดย: Bond_007 ที่ สิงหาคม 01, 2011, 09:05:05 AM
เภสัชต้องการรายงานครับแต่มันพิมพ์ออกมาไม่ได้ก็เลยลองเขียนดูแต่ค่าท่ี่ได้ออกมาไม่เหมือนกันครับ
ตามรูปครับระบบคำนวนแล้วมี 3 รายการแต่ผมทำรายงานออกมามี 14 รายการ
หัวข้อ: Re: รายงานสินค้าที่หมดอายุ
เริ่มหัวข้อโดย: Bond_007 ที่ สิงหาคม 01, 2011, 09:06:43 AM
select * from stock_item_list  where item_expire between "2011-07-01" and "2011-07-31" ปรากฎว่ามี 14 รายการครับ
หัวข้อ: Re: รายงานสินค้าที่หมดอายุ
เริ่มหัวข้อโดย: pop_hosxp ที่ สิงหาคม 01, 2011, 09:21:36 AM
จากการ trace ดูมีการใช้คำสั่งนี้ครับ

โค๊ด: SQL
  1. SELECT sd.stock_draw_id,sd.stock_draw_date,sd.stock_draw_no,sil.item_id ,sil.item_lotno,  sdl.stock_draw_left_qty, sil.item_expire,d.department_name,  (spd.stock_po_item_unitcost*sdl.stock_draw_left_qty) AS sum_left_price  FROM stock_draw_list sdl,stock_draw sd,stock_item_list sil,stock_department d,  stock_deliver_detail sdd ,stock_deliver sdi,stock_po_detail spd ,stock_item i  WHERE sdl.stock_draw_id = sd.stock_draw_id  AND sil.item_list_id = sdl.item_list_id  AND sd.department_id = d.department_id  AND sdi.stock_deliver_id = sdd.stock_deliver_id  AND spd.stock_po_detail_id =sdd.stock_po_detail_id  AND i.item_id = sil.item_id  AND sdd.stock_deliver_detail_id=sil.stock_deliver_detail_id  AND sd.stock_draw_complete = 'Y'  AND sdl.stock_draw_left_qty > 0 AND sil.item_expire BETWEEN '2011-07-01' AND '2011-07-31'  ORDER BY sil.item_expire

อีกอันหนึ่งคือ
โค๊ด: SQL
  1. SELECT e.* ,concat(i.item_name,' x ',i.item_unit_qty,' ',i.item_unit) AS name,item_package_name FROM stock_expire e,stock_item i  WHERE e.item_id = i.item_id AND e.item_expire BETWEEN '2011-07-01' AND '2011-07-31'  ORDER BY e.stock_expire_id



หัวข้อ: Re: รายงานสินค้าที่หมดอายุ
เริ่มหัวข้อโดย: Bond_007 ที่ สิงหาคม 01, 2011, 10:26:57 AM
ดูการ trace ดูตรงไหนครับ เผื่อจะใช้กับตัวรายงานอื่นด้วยครับ
จากการ trace ดูมีการใช้คำสั่งนี้ครับ

โค๊ด: SQL
  1. SELECT sd.stock_draw_id,sd.stock_draw_date,sd.stock_draw_no,sil.item_id ,sil.item_lotno,  sdl.stock_draw_left_qty, sil.item_expire,d.department_name,  (spd.stock_po_item_unitcost*sdl.stock_draw_left_qty) AS sum_left_price  FROM stock_draw_list sdl,stock_draw sd,stock_item_list sil,stock_department d,  stock_deliver_detail sdd ,stock_deliver sdi,stock_po_detail spd ,stock_item i  WHERE sdl.stock_draw_id = sd.stock_draw_id  AND sil.item_list_id = sdl.item_list_id  AND sd.department_id = d.department_id  AND sdi.stock_deliver_id = sdd.stock_deliver_id  AND spd.stock_po_detail_id =sdd.stock_po_detail_id  AND i.item_id = sil.item_id  AND sdd.stock_deliver_detail_id=sil.stock_deliver_detail_id  AND sd.stock_draw_complete = 'Y'  AND sdl.stock_draw_left_qty > 0 AND sil.item_expire BETWEEN '2011-07-01' AND '2011-07-31'  ORDER BY sil.item_expire

อีกอันหนึ่งคือ
โค๊ด: SQL
  1. SELECT e.* ,concat(i.item_name,' x ',i.item_unit_qty,' ',i.item_unit) AS name,item_package_name FROM stock_expire e,stock_item i  WHERE e.item_id = i.item_id AND e.item_expire BETWEEN '2011-07-01' AND '2011-07-31'  ORDER BY e.stock_expire_id




หัวข้อ: Re: รายงานสินค้าที่หมดอายุ
เริ่มหัวข้อโดย: pop_hosxp ที่ สิงหาคม 01, 2011, 10:55:32 AM
ใช้ shortcut ด้วยการกดปุ่ม Ctrl+Alt+T หรือใช้ menu ดังรูปครับ