ORACLE 行列转函数

Oracle11g提供了新的行列转换操作:PIVOT(行转列)和UNPIVOT列转行。老版本使用decode来进行转换,本文使用UNPIVOT的功能进行展示。 详细资料请看: http://www.oracle.com/technetwork/cn/articles/11g-pivot-101924-zhs.html

现有表src_table如下:

product_Id(产品ID)product_color(颜色)porduct_type(型号)is_intelligent(是否智能)

1111      red     t1     是

1112      blue   t2      否

1113     green  t3     是

目标表dest_table如下:

product_Idparam_name(参数名称)param_value(参数值)

1111   product_color     red

1112   product_color    blue

1113   product_color     green

1111   product_typet    1

1112    product_typet   2

1113    product_typet   3

1111   is_intelligent    是

1112   is_intelligent    否

1113   is_intelligent    是

通过UNPIVOT实现如下:

SELECT *

FROM   src_table

UNPIVOT (param_value FOR param_name IN (product_color AS 'product_color', product_type AS 'product_type', is_intelligent AS 'is_intelligent');

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,792评论 0 33
  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 10,129评论 0 23
  • -7- 天气渐渐暖和了,家宝张罗城南帮那几个和我们宿舍的一同去人工湖玩耍,也许是学习枯燥了,不午休出来吹风的我们一...
    青城幽落阅读 285评论 0 2
  • 最近,听到很多身边的亲友都患了重病,不得不深深陷入思考。人生的意义在于什么?人总有一死,所受的万般痛苦,皆是业力所...
    求无1824阅读 178评论 0 0
  • 今日去工行办理姐姐的事情,那个职员的恶劣态度五年没变,呼,他们这样的服务态度也是够差的了,差评!同时,自己也感觉到...
    逍逍逍遥阅读 145评论 0 0