首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

请问一条sql的写法

2012-02-11 
请教一条sql的写法现在通过操作我已经得到了一个如下的集合Atypevaluea1v1b2v2c1v3d2v4我如何才能最高效的

请教一条sql的写法
现在通过操作我已经得到了一个如下的集合
A         type         value
a         1                 v1
b         2                 v2
c         1                 v3
d         2                 v4

我如何才能最高效的构造成下面的集合
A         value1         value2
a         v1
b                                 v2
c         v3
d                                 v4

即type为1时将value写入value1,type为2时将value写入value2
我的想法如下:
select   A,   value,   t1.value
from   TB   where   type=1
left   join   TB   t1   on   TB.A=t1.A
having   type=2

结果不行啊

[解决办法]
select
A,
case when type=1 then value else null end as value1,
case when type=2 then value else null end as value2
from
TB

或者

select
A,
decode(type,1,value,null) as value1,
decode(type,2,value,null) as value2
from
TB

[解决办法]
select A,
sum(decode(type,1,value,null),
sum(decode(type,2,value,null)
from tb
group by A
[解决办法]
select decode(type,1, value,null) as value1,decode(type,2,value,null) as value2 from TB

如果对了,要请吃饭的

热点排行