SQL数据记录中的数据如何按统一的时间列进行拆分
你好,向你咨询下:我现在有如下一个表,表中记录如下:时间IDVALUE2014-10-11:20:001222014-10-11:30:001232014-10-11:5...
你好,向你咨询下:
我现在有如下一个表,表中记录如下:
时间 ID VALUE
2014-10-1 1:20:00 1 22
2014-10-1 1:30:00 1 23
2014-10-1 1:50:00 1 24
2014-10-1 1:10:00 2 22
2014-10-1 1:40:00 2 23
2014-10-1 1:50:00 2 24
由于设备存储问题,在某一个时间戳上没有数据,如何又能按下面的格式(统一的进间列)进行拆分成表或视图
时间 ID1 VALUE ID2 VALUE
2014-10-1 1:10:00 null null 2 22
2014-10-1 1:20:00 1 23 null null
2014-10-1 1:30:00 1 24 null null
2014-10-1 1:40:00 null null 2 24
2014-10-1 1:50:00 1 24 2 23
多谢! 展开
我现在有如下一个表,表中记录如下:
时间 ID VALUE
2014-10-1 1:20:00 1 22
2014-10-1 1:30:00 1 23
2014-10-1 1:50:00 1 24
2014-10-1 1:10:00 2 22
2014-10-1 1:40:00 2 23
2014-10-1 1:50:00 2 24
由于设备存储问题,在某一个时间戳上没有数据,如何又能按下面的格式(统一的进间列)进行拆分成表或视图
时间 ID1 VALUE ID2 VALUE
2014-10-1 1:10:00 null null 2 22
2014-10-1 1:20:00 1 23 null null
2014-10-1 1:30:00 1 24 null null
2014-10-1 1:40:00 null null 2 24
2014-10-1 1:50:00 1 24 2 23
多谢! 展开
1个回答
展开全部
select 时间,max(decode(id,1,id,null)) as id1,
max(decode(id,1,value,null)) as value1,
max(decode(id,2,id,null)) as id2,
max(decode(id,2,value,null)) as value2
from table_name
group by 时间
order by 1
max(decode(id,1,value,null)) as value1,
max(decode(id,2,id,null)) as id2,
max(decode(id,2,value,null)) as value2
from table_name
group by 时间
order by 1
更多追问追答
追问
sql 2008中没有decode ()这个函数啊
追答
select 时间,max(case when id=1 then id else null end) as id1,
max(case when id=1 then value else null end) as value1,
max(case when id=2 then id else null end) as id2,
max(case when id=2 then value else null end) as value2
from table_name
group by 时间
order by 1
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询