现在一个表中有两列数据
shuliang area
1 025
2 0510
3 0511
4 0512
5 0513
要求是把area字段中的值转换成城市名称,比如025是南京,0510是无锡,0511是镇江,0512是苏州,0512是南通
显示成
南京 无锡 镇江 苏州 南通
1 2 3 4 5
请问sql怎么写啊
SQL code:
select sum(case when area = '025' then shuliang else 0 end) as 南京
,sum(case when area = '0510' then shuliang else 0 end) as 无锡
,sum(case when area = '0511' then shuliang else 0 end) as 镇江
,sum(case when area = '0512' then shuliang else 0 end) as 苏州
,sum(case when area = '0513' then shuliang else 0 end) as 南通
from 表名;
select
case when area='025' then shuliang end 南京,
case when area='0510' then shuliang end 无锡,
case when area='0511' then shuliang end 镇江,
case when area='0512' then shuliang end 苏州,
case when area='0513' then shuliang end 南通
from 表;
select sum(decode(area, '025', 1, 0)) as 南京,
sum(decode(area, '0510', 1, 0)) as 无锡,
sum(decode(area, '0511', 1, 0)) as 镇江,
sum(decode(area, '0512', 1, 0)) as 苏州,
sum(decode(area, '0513', 1, 0)) as 南通
from t
group by area