这条sql怎么写?急,大佬们,表格合并?

小苏与肉酱


考察左连接、右连接和联合

表结构,都没有添加时间和更新时间 演示用:

CREATE TABLE `target` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`username` varchar(20) NOT NULL DEFAULT 'A',

`category` varchar(20) NOT NULL,

`price` int(11) unsigned NOT NULL DEFAULT '0',

`num` int(11) unsigned NOT NULL DEFAULT '0',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;


CREATE TABLE `orders` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`username` varchar(20) NOT NULL DEFAULT 'A',

`category` varchar(20) NOT NULL,

`price` int(11) unsigned NOT NULL DEFAULT '0',

`num` int(11) unsigned NOT NULL DEFAULT '0',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;


准备数据:

INSERT INTO `target` (`id`, `username`, `category`, `price`, `num`)

VALUES

(1, 'A', '电', 10, 2),

(2, 'A', '洗', 20, 3),

(3, 'A', '厨', 30, 4),

(4, 'A', '卫', 40, 5),

(5, 'A', '脚', 50, 8);


INSERT INTO `orders` (`id`, `username`, `category`, `price`, `num`)

VALUES

(1, 'A', '保暖瓶', 20, 6),

(2, 'A', '电', 30, 7),

(3, 'A', '洗', 40, 8),

(4, 'A', '卫', 70, 9),

(5, 'A', '厨', 80, 10),

(6, 'A', '手提', 90, 11);


执行sql:

select t.username,t.category,t.price,t.num,o.price,o.num from target as t left join orders as o using(category)

union

select o.username,o.category,t.price,t.num,o.price,o.num from target as t right join orders as o using(category)


结果:


资深韭菜工程师


select * into 新表名 from (select * from T1 union all select * from T2) \r

这个语句可以实现将合并的数据追加到一个新表中。 \r

不合并重复数据 select * from T1 union all select * from T2 \r

合并重复数据 select * from T1 union select * from T2 \r

两个表,表1 表2 \r

如果要将 表1的数据并入表2用以下语句即可 \r

insert into 表2(字段1,字段2) select 字段1,字段2 from b1 \r

注意,必须把字段名全部写清楚,而且不允许把自动编号进去写进去,要合并自动编号字段必须重写一个算法一条一条记录地加进去\r

1 insert into b1 select * from b2\r

2 select * into newtable from (select * from b1 union all select * from b2)


秃头警告


select a.pg,a.种类,decode(月金额,'/') … from(select pg,种类 from target unoin select 人,种类 from 订单)a left join target b on a.pg=b.pg and b.种类=a.种类 left join 订单 c on a.pg=c.人 and a.种类=c.种类


厦门shark


用两张市图来关联查询


老四赶黑


Navicat 创建查询 两张表加进去 查询满足要求了导出数据 再导入到新表 过程都有sql


luolita二次元素材


没太明白你图片的意思,有问题可以私聊我详细说一下。


关注趣闻娱乐分享


你这表咋还是手画的呢


资源神器


原理,

联合查询表一表二,

把结果写入新表就OK了。


滔朴未来


喝了这么多养乐多这还不会吗😆


迷途之鸿



分享到:


相關文章: