MYSQL查询语句(50分)

  • 主题发起人 主题发起人 haloon
  • 开始时间 开始时间
H

haloon

Unregistered / Unconfirmed
GUEST, unregistred user!
with repplanningproductio.tbreport,sql do
begin
Close ;
Clear ;
pp:='select a.code ,a.cndesc ,a.spec, a.unit ,sum(b.OnHand) Onhand, ' ;
pp:=pp+'sum(c.Qty) Qty, '+'Onhand-Qty ' ;
pp:=pp+'from 基本资料表 a ,库存明细表 b ,订单用量明细表 c ' ;
pp:=pp+'where a.code=b.code and b.code=c.itemcode and c.sid1=:var1 ' ;
pp:=pp+'group by a.code ' ;
Add(pp) ;
ParamByName('var1').AsString :=pp1 ;
Open ;
end;
说明:
1.我想得到的结果是我需要用多少料?有多少料?差多少料?
2.有多个仓库可能存在一种物料,所以用SUM()。
3.我的用量明细表是根据PO单的数量去*BOM表的用量所得的一个表,所以可能有一种物料
会出现多次的可能,也用了SUM()。
4.查询结果是错误的,为什么?
5.各位能否给一个好的方案,就是我下一个订单后,想查查库存还有多少,然后产生超欠料
单?请多指教……十分感谢!!!
 
试一试?
select T1.*,T2.Onhand,T3.qty,T2.Onhand-T3.qty from
( select a.code ,a.cndesc ,a.spec, a.unit from 基本资料表 a ) T1,
( select b.code ,sum(b.OnHand) Onhand from 库存明细表 b) t2,
( select c.code,sum(c.qry) qty from 订单用量明细表 c) T3
where T1.code=T2.code and T1.code=T3.code
可以统计出所有订单的资料,如果只要得到一个订单的资料,可以加条件!
( select a.code ,a.cndesc ,a.spec, a.unit from 基本资料表 a where ...) T1,
三个语句都加,这样可以加快一点速度!
 
后退
顶部