ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE11G行列转换之UNPIVOT

ORACLE11G行列转换之UNPIVOT

原创 Linux操作系统 作者:lsmnlsmn 时间:2012-07-12 20:02:56 0 删除 编辑

ORACLE 11G提供了新的行列转换操作:PIVOT(行转列)和UNPIVOT列转行。本文对UNPIVOT的功能进行展示。

现有表src_table如下:

product_Id(产品ID) product_color(颜色) porduct_type(型号) is_intelligent(是否智能)
1111 red t1 是
1112 blue t2 否
1113 green t3 是


目标表dest_table如下:

product_Id param_name(参数名称) param_value(参数值)
1111 product_color red
1112 product_color blue
1113 product_color green
1111 product_type t1
1112 product_type t2
1113 product_type t3
1111 is_intelligent 是
1112 is_intelligent 否
1113 is_intelligent 是

通过UNPIVOT实现如下:

  1. SELECT *  
  2. FROM   src_table  
  3. UNPIVOT (param_value FOR param_name IN (product_color AS 'product_color', product_type AS 'product_type', is_intelligent AS 'is_intelligent');

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24867611/viewspace-735327/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2012-07-12

  • 博文量
    16
  • 访问量
    24355