oracle 中用:
select 仓库, sum(decode(操作,出库,-1,1) * 数量), 货物 from table   
group by 仓库,货物 

解决方案 »

  1.   

    谢谢rjcludy() ,但是sql server 中咱办
      

  2.   

    SQl Server:
    select 仓库, sum(case when 操作 = 出库 then -1 else 1 end) * 数量), 货物 from table  
    group by 仓库,货物 
      

  3.   

    sql server应该是:
    把上面的  decode(操作,出库,-1,1) * 数量
    改为 (case when 操作 = 出库 then -1
              when 操作 = 入库 then 1)
    (sqlserver 我刚学几天,你试一试看可不可以,要是不行那我就不懂了,
     现在出差在外,手头上没有资料)
      

  4.   

    这样的情况,oralce中用decode,sql server中用case.
    不过据说最新版的oracle也支持case语法.
      

  5.   

    对,同意rjcludy()和leeyoong,不过要注意加单引号,他们肯定都知道,呵呵...
      

  6.   

    假设所建表名为storecount
    SELECT 仓库, 货物, 
          SUM((CASE WHEN 操作 = '入库' THEN 1 WHEN 操作= '出库' THEN - 1 END)
           * 数量)
    FROM storecount
    WHERE 仓库 = '001'
    GROUP BY 仓库, 货物