BMS-HOSxP Community

HOSxP => HOSxP Inventory => ข้อความที่เริ่มโดย: kiatthanapat ที่ กันยายน 01, 2011, 09:35:07 AM

หัวข้อ: สอบถามอยากทราบตารางที่เก็บข้อมูลการเบิกสินค้า
เริ่มหัวข้อโดย: kiatthanapat ที่ กันยายน 01, 2011, 09:35:07 AM
ผมต้องการเขียนรายงาน ดังนี้ครับ คือเลือกชื่อสินค้า แล้วให้โชว์ ชื่อแผนกที่เบิกทุกแผนกและ จำนวนที่เบิกครับ
หัวข้อ: Re: สอบถามอยากทราบตารางที่เก็บข้อมูลการเบิกสินค้า
เริ่มหัวข้อโดย: pop_hosxp ที่ กันยายน 01, 2011, 09:50:55 AM
ลองอันนี้ดูครับ

โค๊ด: SQL
  1. SELECT si.item_name, sc.inv_name, SUM(out_qty) AS sum_qty
  2. FROM stock_card sc
  3. LEFT OUTER JOIN stock_item si ON si.item_id=sc.item_id
  4. WHERE transaction_date BETWEEN "2011-01-01" AND "2011-03-31"
  5. AND transaction_type="OUT"
  6. GROUP BY si.item_id, sc.inv_name
หัวข้อ: Re: สอบถามอยากทราบตารางที่เก็บข้อมูลการเบิกสินค้า
เริ่มหัวข้อโดย: kiatthanapat ที่ กันยายน 01, 2011, 10:44:49 AM
ขอบคุณครับ

สอบถามเพิ่มอีกครับ คือผมต้องการให้เลือก item_name ทีละตัว ผมต้องใช้คำสั่งไรครับ ถ้าใช้

getpickuplist ผมต้องเขียนอย่างไรครับช่วยแนะนำด้วย
หัวข้อ: Re: สอบถามอยากทราบตารางที่เก็บข้อมูลการเบิกสินค้า
เริ่มหัวข้อโดย: pop_hosxp ที่ กันยายน 01, 2011, 10:53:03 AM
var
  item:string;
  date1,date2:tdatetime;
  ds1,ds2:string;

begin
  item:=GetPickuplist('select item_name from stock_item order by item_name');
  item:=GetSQLStringData('select item_id from stock_item where item_name="'+item+'" ');
  GetDateRangeDialog(date1,date2);
  ds1:=formatdatetime('yyyy-mm-dd',date1);
  ds2:=formatdatetime('yyyy-mm-dd',date2);

  ChangReportSQL('SELECT si.item_name, sc.inv_name, sum(out_qty) AS sum_qty '+
  '    FROM stock_card sc '+
  '    LEFT OUTER JOIN stock_item si ON si.item_id=sc.item_id '+
  '    WHERE transaction_date BETWEEN "'+ds1+'" AND "'+ds2+'" '+
  '    AND transaction_type="OUT" '+
  '    and sc.item_id="'+item+'" '+
  '    GROUP BY si.item_id, sc.inv_name');

end;