日期:2014-05-18  浏览次数:20959 次

请教一个insert into () select..........
需要复制一批数据从a表到b表
但是insert into b () select. a.........有其局限性
需要加一些其他数据到b表,那么这种SQL语句又要怎么写
数据量太大 是否要用存储过程,又要怎么写?



比如:
insert into a (id,name,sex) select id,name,sex from b
这样是可以的
那我插a表时 其中sex不是从b表复制的,是c表中的一个字段
那应该怎么写




------解决方案--------------------
insert into a (id,name,sex) 
select b.id,name,c.sex from b left join c on b.id=c.id
------解决方案--------------------
insert into a (id,name,sex) select b.id,b.name,c.sex from b,c
where b.id=c.id
------解决方案--------------------
insert into a (id,name,sex) select b.id,b.name,c.sex from b,c where b.id = c.id
------解决方案--------------------
insert into a (id,name,sex) select b.id,b.name,c.sex from b,c