日期:2014-05-18  浏览次数:20397 次

数据库统计
产品     华东区域   华南区域     华中区域       总数
DVD           20               30                 10                 60
VCD           10               3                   8                   21
Mobile     10               10                 20                 40

产品一个表(有一个字段对区域),区域一个表
这样如何去统计,请各位帮帮忙

------解决方案--------------------
select 產品,sum(case when 华东区域 then number end) as 华东区域,
sum(case when 华南区域 then number end) as 华南区域,
sum(case when 华中区域 then number end) as 华中区域,
總數 = 华东区域 + 华南区域 + 华中区域 from produce a inner join area b on a.id = b.id
------解决方案--------------------
--如果区域是固定的
Select
A.产品,
SUM(Case B.区域 When '华东区域 ' Then A.数量 Else 0 End) As 华东区域,
SUM(Case B.区域 When '华南区域 ' Then A.数量 Else 0 End) As 华南区域,
SUM(Case B.区域 When '华中区域 ' Then A.数量 Else 0 End) As 华中区域,
SUM(A.数量) As 总数
From
区域 B
Left Join
产品 A
On A.区域ID = B.区域ID
Group By
A.产品