美文网首页MySQL
ORACLE 行列转函数

ORACLE 行列转函数

作者: felix_feng | 来源:发表于2016-10-09 09:26 被阅读27次

    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');

    相关文章

      网友评论

        本文标题:ORACLE 行列转函数

        本文链接:https://www.haomeiwen.com/subject/kmepyttx.html