目标:通过一个原始表得到两个表
表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