oracle 纵表转横表方法

SELECT * from tphs_prod_attr WHERE order_id='S0209121200000026';
10000195    1x
10000196    300000
10000197    1000
10000198    0
10000199    1
10000200    0
10000201    1
10000202    1
10000203    200.00
10000204    300.00
10000205    4000.00
select MAX(decode(t.attr_id,10000195,t.attr_values,0 )) ,
       sum(decode(t.attr_id,10000196,t.attr_values,0 )) ,
       sum(decode(t.attr_id,10000197,t.attr_values,0 )) ,
       sum(decode(t.attr_id,10000198,t.attr_values,0 )) ,
       sum(decode(t.attr_id,10000199,t.attr_values,0 )) ,
       sum(decode(t.attr_id,10000200,t.attr_values,0 )) ,
       sum(decode(t.attr_id,10000201,t.attr_values,0 )) ,
       sum(decode(t.attr_id,10000202,t.attr_values,0 )) ,
       sum(decode(t.attr_id,10000203,t.attr_values,0 )) ,                                                 
       sum(decode(t.attr_id,10000204,t.attr_values,0 )) , 
       sum(decode(t.attr_id,10000205,t.attr_values,0 )) /*,             
       t.* */
  from tphs_prod_attr t
 where t.order_id = 'S0209121200000026';

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

推荐阅读更多精彩内容