小弟有一问题,想请高手帮忙看一看

aichangfeng 2004-08-10 01:04:00
有如下表(table)结构:
id sl name
1 1 a
2 2.1 a
3 3.0 b
4 2.3 b
5 1.1 c
想得到如下数据形式:
id a b c
1 3.1 5.3 1.1

用一句SQL语句描述出来...

...全文
89 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sun1976 2004-08-11
http://community.csdn.net/Expert/topic/3259/3259660.xml?temp=.3788263
我给你sql不行吗?为什么还不结贴?

如果不行,你就说明一下
你的结果就要一行数据,那我的sql绝对正确
如果需要返回多行数据,那请你把你的结果集多输入几行,要不谁知道你的结果集中id想取什么?

回复
aichangfeng 2004-08-10
这是一个矩阵旋转问题,请大家帮忙。。。。
回复
kendison 2004-08-10
sun1976(关羽观雨)真是SB,那个name字段又不是只有a,b,c, name那是动态的。。。
回复
kendison 2004-08-10
不能用crosstab,否则那问题不是太简单了。。。
回复
sywen 2004-08-10
用crosstab是可以解決,但是用一句SQL语句描述...
回复
qiqiu999 2004-08-10
同意牛悟草,用crosstab立马解决。
回复
sun1976 2004-08-10
sql server:

select 1 as id,
sum(case when name='a' then sl else 0 end) as a,
sum(case when name='b' then sl else 0 end) as b
sum(case when name='c' then sl else 0 end) as c

oracle:
select 1 as id,
sum(decode(name,'a' , sl,0 )) as a,
sum(decode(name,'b' , sl,0 )) as b
sum(decode(name,'c' , sl,0 )) as c


回复
jiangjildy 2004-08-10
用crosstab格式数据窗口马上就可以解决.
回复
shijizhi 2004-08-10
看不懂是什么意思,只看ABC好像是对sl,name进行分组求和,但前面又有一个ID,不知道是什么意思
回复
相关推荐
发帖
数据库相关
创建于2007-09-28

738

社区成员

PowerBuilder 数据库相关
申请成为版主
帖子事件
创建了帖子
2004-08-10 01:04
社区公告
暂无公告