菜鸟Oracle 求救,行转列

hanyangjian 2014-09-04 03:46:07
数据表结构

物品 供应商
A A1
A A2
A A3
B B1
B B2
B B3

输出结果
物品 供应商1 供应商2 供应商3
A A1 A2 A3

供应商数量最大为10个。最小为0
求帮助
...全文
124 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanyangjian 2014-09-04
  • 打赏
  • 举报
回复
球大神
引用 4 楼 zlloct 的回复:
[quote=引用 2 楼 hanyangjian 的回复:] 我这个是例子啊,物品也不清楚多少个的,供应商也不清楚多少个的。。
我这个也是个例子啊,你把上面的临时表换了,直接用下面的SELECT 不就行了吗[/quote] 大神,真不好意思,误会了。。前面没仔细看,SORRY~~ 大神,非常感谢非常感谢~~~~
CT_LXL 2014-09-04
  • 打赏
  • 举报
回复
引用 2 楼 hanyangjian 的回复:
我这个是例子啊,物品也不清楚多少个的,供应商也不清楚多少个的。。
我这个也是个例子啊,你把上面的临时表换了,直接用下面的SELECT 不就行了吗
bw555 2014-09-04
  • 打赏
  • 举报
回复
xml中可以使用any实现此效果,否则必须使用动态语句拼接出查询语句,然后把拼接出的语句拿去执行 Oracle 11g 行列互换 pivot 和 unpivot 说明
hanyangjian 2014-09-04
  • 打赏
  • 举报
回复
我这个是例子啊,物品也不清楚多少个的,供应商也不清楚多少个的。。
CT_LXL 2014-09-04
  • 打赏
  • 举报
回复
引用 楼主 hanyangjian 的回复:

with t as
 (select 'A' GOODS, 'A1' COMPANY
    FROM DUAL
  UNION ALL
  select 'A' GOODS, 'A2' COMPANY
    FROM DUAL
  UNION ALL
  select 'A' GOODS, 'A3' COMPANY
    FROM DUAL
  UNION ALL
  select 'B' GOODS, 'B1' COMPANY
    FROM DUAL
  UNION ALL
  select 'B' GOODS, 'B2' COMPANY
    FROM DUAL
  UNION ALL
  select 'B' GOODS, 'B3' COMPANY
    FROM DUAL
  UNION ALL
  select 'C' GOODS, 'C1' COMPANY
    FROM DUAL)
SELECT *
  FROM (SELECT T.*,
               ROW_NUMBER() OVER(PARTITION BY GOODS ORDER BY COMPANY) RN
          FROM T) PIVOT(MAX(COMPANY) FOR RN IN(1 AS COMPANY1,
                                               2 AS COMPANY2,
                                               3 AS COMPANY3,
                                               4 AS COMPANY4,
                                               5 AS COMPANY5,
                                               6 AS COMPANY6,
                                               7 AS COMPANY7,
                                               8 AS COMPANY8,
                                               9 AS COMPANY9,
                                               10 AS COMPANY10));

17,086

社区成员

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

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