2张表结构不同, 将数据进行 行,列转换

风影枫林 风影枫林 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现在要将table1中的数据转到table2中,请教SQL语句该如何实现(只需要查询语句就行了);
将table1中2条 name 和 time 都相同的数据整合为table2的一条数据

--在这条SQL语句上加上一条得到table2中value3的值
--假设现在时间为12点过5分 2011-6-13 12:05:00
--value3的值是当type=2时,2011-6-13 12:00:00 时间点的value减去2011-6-13 11:00:00时间点的value
select name,convert(varchar(10),[time],120) as [time],
sum(case when type=1 then value else 0 end) as value1,
sum(case when type=2 then value else 0 end) as value2
from table1
group by name,convert(varchar(10),[time],120)






表 table1
name time value type
A 2011-6-13 11:00:00 51 1
B 2011-6-13 12:00:00 35 1
C 2011-6-13 11:00:00 43 1
B 2011-6-13 12:00:00 8 2
A 2011-6-13 11:00:00 4 2
C 2011-6-13 12:00:00 10 2
C 2011-6-13 11:00:00 7 2
A 2011-6-13 12:00:00 6 2
A 2011-6-13 12:00:00 54 1
B 2011-6-13 11:00:00 3 2
B 2011-6-13 11:00:00 38 1









表 table2
name time value1 value2 value3
A 2011-6-13 11:00:00 51 4 0
A 2011-6-13 12:00:00 54 6 2
B 2011-6-13 11:00:00 38 3 0
B 2011-6-13 12:00:00 35 8 5
C 2011-6-13 11:00:00 43 7 0
C 2011-6-13 12:00:00 0 10 3







...全文

相关推荐

评论 12
收藏 已收藏
分享
返回顶部
风影枫林
MS-SQL Server 34,876 成员 254,635 内容