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

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语句描述出来...

...全文
134 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
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,不知道是什么意思

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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