今天遇到一个需求,将A表查询出来的字段插入到B表中,A、B两张表结构不同。
上例子
B表需要A表的字段2,A表按照条件查出来大概几千条数据。同时B表的type和deleted字段需要默认值都为'0'。
insert into B (字段2,type,deleted)
select y.字段2,y.a,y.b from
(select 字段1 ,字段2, '0' as a, '0' as b from A
where id in
(select max(id) from A
where 字段1 in (?)
group by 字段1)) y;
注意:A表并没有'0' as a,'0' as b 这两个字段。这是百度查出来的写法,亲测可用。
以前没有这么写过sql觉得奇怪。有哪位朋友明白这种写法的可以留言说明一下,谢谢。