select b.商品,sum(b.數量) as 庫存 from 
(select 商品,數量 from 入庫表 
union  all 
select 商品,數量*-1 as數量 from 出庫表) b group by 商品  
把上面的SQL语句改成interbase语句怎么写啊??interbase不支持 from 后带(select ..)  
    入库表                            出库表  
入库日期    商品  数量          出库日期    商品  数量 
2008.12.12  牙膏  1            2008.12.15  牙刷  1 
2008.12.12  牙刷  1            2008.12.15  牙膏  1 
2008.12.13  牙刷  1 怎样用SQL语句列出所有商品的库存数量? 

解决方案 »

  1.   

    select 商品,sum(数量)
    from 
    (
    select 商品,sum(数量)数量  from 入库表 group by 商品
    union all 
    select 商品,sum(-1*数量)数量  from 出库表 group by 商品
    ) a
    grouop by 商品
      

  2.   


    select 商品,sum(数量)
    from 
    (
    select 商品,sum(数量)数量  from 入库表 group by 商品
    union all 
    select 商品,sum(-1*数量)数量  from 出库表 group by 商品
    ) a
    group by 商品
      

  3.   


    select 商品,sum(数量)
    from
    (
      select 商品,sum(数量)数量 from 入库表 group by 商品
      union all
      select 商品,sum(-1*数量)数量 from 出库表 group by 商品
    ) aa (商品,数量)/* 这里括号部分是关键*/
    group by 商品Firebird 2.1 下运行通过
      

  4.   

    如果用的interbase不支持的话,就写个视图好了