pivoting insert(旋转插入

本文介绍了一种称为旋转插入(pivoting insert)的技术,用于将非关系型表数据转换为关系型表数据。通过示例展示了如何从一个包含员工ID、周ID及每日销售额的表中,提取数据并将其转换为每条记录对应一天销售额的形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pivoting insert(旋转插入)

  

  这节主要讨论使用pivoting insert 实现将非关系性表记录转换为关系型表中存储。Pivot 旋转是OLAP 中的一个基本改变,提供多维度数据分析。比如一个表为sales_source_data,里面的列为

  employee_id number,week_id number,sales_mon number,sales_tue number,sales_wed number,sales_thur number,sales_fri number 员工id,周id,其他的是工作日的每天的销售记录。

  现在要把数据转到sales_info表中,这个表的列为employee_id,week_id,sales。

  要实现这个转换可以使用pivoting insert 操作。和insert all类似,只不过这里的多表都是同一个表。

  insert all

  into sales_info values(employee_id,week_id,sales_mon) --分别按每个工作日插入

  into sales_info values(employee_id,week_id,sales_tue)

  into sales_info values(employee_id,week_id,sales_wed)

  into sales_info values(employee_id,week_id,sales_thur)

  into sales_info values(employee_id,week_id,sales_fri)

  select employee_id,week_id,sales_mon,sales_tue,sales_wed,sales_thur,sales_fri

  from sales_source_data;

  比如原来的sales_source_data 中只有一条记录,那么插入到sales_info 中就变成了5 条记录。

  select * from sales_source_data;

  select * from sales_info;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值