日期:2014-05-20  浏览次数:20687 次

求一条sql语句
求一条sql 语句用来显示交叉表,请大家高手帮忙,急急………….

数据库表(Table):
Id , 货币类型(type: mop , hkd), 钱(money) , FD(装态)

用sql语句要显示的表格:
FD 澳门币 香港币 其他货币 汇总
FD1 100 100 100 300
FD2 200 200 200 600
FD3 10 10 10 30
FD4 20 20 20 60
汇总 330 330 330 990



------解决方案--------------------
SQL code
select ss,
sum(case when 货币类型='澳门币' then 钱 else 0 end) as '澳门币',
sum(case when 货币类型='香港币' then 钱 else 0 end) as '香港币',
sum(case when 货币类型='其他货币' then 钱 else 0 end) as '其他货币',
sum(钱) as '汇总'
from 表名
group by ss

union all

select '汇总',
sum(case when 货币类型='澳门币' then 钱 else 0 end) as '澳门币',
sum(case when 货币类型='香港币' then 钱 else 0 end) as '香港币',
sum(case when 货币类型='其他货币' then 钱 else 0 end) as '其他货币',
sum(钱) as '汇总'
from 表名