将一个原始表拆分得到两个表

 目标:通过一个原始表得到两个表

                                  表t_a

                      表t_b

 

                                  表t_c

 

 

1.首先根据表t_a生成表t_b

根据表t_a的type列进行分组,然后对分组的qty列进行求和,最后生成一个新的数据表

CREATE TABLE t_b 

SELECT SUM(a.qty) qty,a.type TYPE
FROM t_a a
GROUP BY TYPE

然后,给新的数据表加上一列id,并设置为主键,自增,

ALTER TABLE `test88`.`t_b` ADD COLUMN `id` INT(10) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`);

操作完成后就得到了新的数据表t_b

2.由表t_a和表t_b生成表t_c

以表t_a和表t_b的type属性为关联关系将两表进行联查,由t_a表的number、name、qty属性生成表t_c的number、name、qty

由t_b表的id属性生成表t_c的parentid

最后生成该新的数据表

CREATE TABLE t_c
SELECT b.id parentid,a.number number,a.name NAME,a.qty qty
FROM t_a a RIGHT JOIN t_b b ON a.type=b.type

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值