标题:在SQL SERVER2000中如何实现这样一个表格转换呢,谢谢
只看楼主
firechuan
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-3-3
 问题点数:0 回复次数:4 
在SQL SERVER2000中如何实现这样一个表格转换呢,谢谢
我想在SQL SERVER2000中实现这样一个表格转换:
如: 时间 名字 数值
2001 A1 100
2001 A2 200

把这个表格转换成下面的形式:
时间 A1 A2
2001 100 200
这在SQL中如何实现呢,希望高手能帮助我一下,谢谢

[此贴子已经被作者于2006-3-8 18:53:21编辑过]

搜索更多相关主题的帖子: SQL SERVER2000中 表格 数值 形式 
2006-03-04 10:39
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
得分:0 
你是基于什么目的要进行这样的转换?
通过这样的转换,本来属于2002的A2变成了2001的,数据库内容会发生改变的。
从查询上来说,跟人感觉原来那个表格更便于查询。

2006-03-04 15:36
firechuan
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-3-3
得分:0 

刚才我发错拉,不好意思,谢谢你的回复,我重新看一下

2006-03-05 23:27
firechuan
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-3-3
得分:0 
我想在SQL SERVER2000中实现这样一个表格转换:
如: 时间 名字 数值
2001 A1 100
2001 A2 200

把这个表格转换成下面的形式:
时间 A1 A2
2001 100 200
这在SQL中如何实现呢,希望高手能帮助我一下,谢谢
2006-03-08 19:38
孙大圣
Rank: 2
等 级:新手上路
威 望:4
帖 子:127
专家分:0
注 册:2006-2-23
得分:0 
DECLARE @chvExec varchar(4000)
SET @chvExec = 'SELECT 时间'
SELECT @chvExec = @chvExec + ',SUM(CASE 名字 WHEN '''+名字+''' THEN 数值 END) ['+名字+']'
FROM (SELECT DISTINCT 名字 FROM 表一) AS A
SELECT @chvExec = @chvExec + ' FROM 表一 GROUP BY 时间'
EXEC(@chvExec)

试一下啦

非学无以广才,非志无以成学
2006-03-10 00:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-48365-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.304587 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved