菜鸟问题

owenfan521 2003-10-14 07:16:50
有这样一个表
时间 名称 值
09:30 流量 33
09:30 液位 5
09:30 压力 180
09:50 流量 37
09:50 液位 8
09:50 压力 160
。。。 。。。 。。。

能不能转化成这样
时间 流量 液位 压力
09:30 33 5 180
09:50 37 8 160
。。 。。 。。 。。

请各位指教!感激不尽!

...全文
35 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
owenfan521 2003-10-22
  • 打赏
  • 举报
回复
select @sql = @sql + ',sum(case 名称 when '''+名称+''' then 值 else 0 end) ['+名称+']'

这一句老是有问题,检查语法有问题,怎么办啊?
yujohny 2003-10-14
  • 打赏
  • 举报
回复
给分,按上面的“管理”进去就可以接贴给分了
如果你要定期调用,那就要做成存储过程
create proc test
as
begin
if object_ID(新表) is not null
drop table 新表
declare @sql varchar(8000)
set @sql = 'select 时间'
select @sql = @sql + ',sum(case 名称 when '''+名称+''' then 值 else 0 end) ['+名称+']'
from (select distinct 名称 from 有一表) as a
select @sql = @sql+' into 新表 from 有一表 group by 时间'
exec(@sql)
select * from 新表
end
owenfan521 2003-10-14
  • 打赏
  • 举报
回复
这是不是做成一个存储过程呢?我的数据是定期增长的!我需要定期处理一下!不甚感激!
owenfan521 2003-10-14
  • 打赏
  • 举报
回复
谢谢大力,请问怎么给你分呢!我回去试了之后就给你分!
pengdali 2003-10-14
  • 打赏
  • 举报
回复
declare @sql varchar(8000)
set @sql = 'select 时间'
select @sql = @sql + ',sum(case 名称 when '''+名称+''' then 值 else 0 end) ['+名称+']'
from (select distinct 名称 from 有一表) as a
select @sql = @sql+' into 新表 from 有一表 group by 时间'

exec(@sql)


select * from 新表
friendliu 2003-10-14
  • 打赏
  • 举报
回复
学习。
owenfan521 2003-10-14
  • 打赏
  • 举报
回复
这样形成的表能永久存在吗?我需要这张新表进行分析!
pengdali 2003-10-14
  • 打赏
  • 举报
回复
declare @sql varchar(8000)
set @sql = 'select 时间'
select @sql = @sql + ',sum(case 名称 when '''+名称+''' then 值 else 0 end) ['+名称+']'
from (select distinct 名称 from 有一表) as a
select @sql = @sql+' from 有一表 group by 时间'

exec(@sql)
go

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧