求SQL视图:一维的表产生二维的表格

kylie 2003-07-18 03:35:27
表中的结构和记录如下:

年 季 额度
year1996 第一季度 730.1
year1997 第一季度 929
year1998 第一季度 1693.97
year1996 第二季度 782.2
year1997 第二季度 1361.1
year1998 第二季度 2042.98
year1996 第三季度 908
year1997 第三季度 1485.2
year1998 第三季度 2462.44
year1996 第四季度 736.3
year1997 第四季度 1254.7
year1998 第四季度 2800

求SQL视图产生下面的效果:
year1996 year1997 year1998
第一季度 730.1 929 1693.97
第二季度 782.2 1361.1 2042.98
第三季度 908 1485.2 2462.44
第四季度 736.3 1254.7 2800

...全文
112 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kylie 2003-07-21
  • 打赏
  • 举报
回复
谢谢各位老大:
我的语句是这样的,(题目有些变化,sorry)
select season,
sum(decode(year,2000,profit,0)) y2000,
sum(decode(year,2001,profit,0)) y2001,
sum(decode(year,2002,profit,0)) y2002,
sum(decode(year,2003,profit,0)) y2003
from mytt
group by season;

结果是:
SQL> @mytest
Input truncated to 18 characters

SEASON Y2000 Y2001 Y2002 Y2003
---------- ---------- ---------- ---------- ----------
fall 123 126 133 450
spring 100 300 156 0
summer 214 234 254 0
winter 200 340 109 0
shahand 2003-07-19
  • 打赏
  • 举报
回复
decode参数 好像差一个0 吧

还有 字段名打上双引号吧
QINYUEH 2003-07-19
  • 打赏
  • 举报
回复
同意,只有作了才知道
tsj68 2003-07-19
  • 打赏
  • 举报
回复
select 季,
sum(decode(年,'year1996',额度)) year1996,
sum(decode(年,'year1997',额度)) year1997,
sum(decode(年,'year1998',额度)) year1998
from tablename
group by 季
beckhambobo 2003-07-19
  • 打赏
  • 举报
回复
不用0了,因为它每个季度都有额度
lianhg 2003-07-18
  • 打赏
  • 举报
回复

SELECT *
FROM
(select 季,
decode(年,'year1996',额度) year1996,
decode(年,'year1997',额度) year1997,
decode(年,'year1998',额度) year1998
from T1
group by 季,年) T2
GROUP BY 季

17,088

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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