日期:2014-05-17  浏览次数:20529 次

这样的SQL统计如何实现?


这样的数据表

我想统计 A仓库 B仓库的 产品数量

显示格式如下

产品名称 A仓库数量 B仓库数量
羽毛球 10 4
乒乓球 5 7
篮球 5 0
足球 8 0
篮球架 0 5
球衣 0 5
球鞋 0 10
... .. ..


相同的物品 显示一次 分别显示在A 和 B仓库中
不相同的 依次显示 
这样的SQL查询 如何实现?

------解决方案--------------------
SQL code
select 产品名称,
  sum(case when 类型='A仓库' then 产品数量 else 0 end) as [A仓库数量],
  sum(case when 类型='B仓库' then 产品数量 else 0 end) as [B仓库数量]
from tb
group by 产品名称

------解决方案--------------------
SQL code
select 产品名称,
       max(case 类型 when A仓库 then 产品数量 else null end) as A仓库数量,
       max(case 类型 when B仓库 then 产品数量 else null end) as B仓库数量
from tb
group  by 产品名称