有一个商品表(pro),里面有商品名称(name),数量(count),类别(type);如下:名称       数量       类别
---------------------------
手机        20         进
电脑        22         进
手机        15         进 
相机        15         进
电脑        20         出
相机        30         进
手机        10         出要求编写SQL语句输出如下结果:名称       进货数       库存
-----------------------------
手机        35           25
电脑        22           2
相机        45           45

解决方案 »

  1.   


    select
    name 名称,
    sum(decode(type,'进',count,0)) 进货数,
    sum(decode(type,'进',count,-count)) 库存
    from pro
    group by name;
      

  2.   

    只知道decode有以下写法:
    DECODE(表达式,值1,'返回内容1',值2,'返回内容2'...,'DEFAULT(都不匹配时显示此信息)')没想到还有4个参数的作用,能解释一下吗?
      

  3.   

    哦,明白了。
    decode(表达式,值,(返回值)真,(返回值)假);