您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Oracle 10g中的数据透视表/交叉表查询(动态列号)

Oracle 10g中的数据透视表/交叉表查询(动态列号)

Oracle 11g是第一个支持PIVOT / UNPIVOT的,因此您必须使用:

  SELECT t.username,
         MAX(CASE WHEN t.product = 'Chair' THEN t.numberpurchases ELSE NULL END) AS chair,
         MAX(CASE WHEN t.product = 'Table' THEN t.numberpurchases ELSE NULL END) AS tbl,
         MAX(CASE WHEN t.product = 'Bed' THEN t.numberpurchases ELSE NULL END) AS bed
    FROM TABLE t
GROUP BY t.username

您可以使用DECODE,但是从9i开始就支持CASE。

Oracle 2022/1/1 18:33:37 有504人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶