高手请进---对表查询如何得到这样的结果

m_leaner 2004-06-15 02:42:44
原表
N J Y
-------- -- ---
1999 1 10
1999 2 11
1999 3 13
1999 4 14
2000 1 11
2000 2 12
2000 3 13
2000 4 14

结果
N 1 2 3 4
--------------------------
1999 10 11 13 14
2000 11 12 13 14
...全文
57 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
m_leaner 2004-06-15
  • 打赏
  • 举报
回复
数据是这样的J就是季度,固定的,如何写
jiezhi 2004-06-15
  • 打赏
  • 举报
回复
select
N,
max(decode(J,1,Y,0)) as "1",
max(decode(J,2,Y,0)) as "2",
max(decode(J,3,Y,0)) as "3",
max(decode(J,4,Y,0)) as "4"
from 原表
group by N
jiezhi 2004-06-15
  • 打赏
  • 举报
回复
行转列的问题。对于你现在的这个例子而言,如果j是可枚举的而且比较少,那可以使用decode函数来处理,一条sql搞定,否则写过程处理。

17,089

社区成员

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

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