from(
select name, count
from A
union all
select name, count
from B
)
group by name
说明:将两表的查询结果进行不去重复结合,作为新表查询,按照name分组求和。
提示的是你的表被锁住了,等待超时,应该是有其他用户正在执行dml语句在t2表上。建议你查查数据字典,是谁在 *** 作t2表。或者直接重启mysql。
另外你的sql语句看着有些别扭,请改成:
update t2 set t2.birth=(
select t1.birth from t1 where t1.id=t2.id)
要保证t1中的id没有重复就行。
分两步就简单点,第一步把需要合并的插入到临时表里面,第二步把临时表的数据添加到表1中,大概SQL语句:SELECT * INTO TEMP TABLE tmp FROM 表2 WHERE ...........NOT IN 或者NOT EXISTS选取表1中没有的数据......
INSERT INTO 表2 SELECT * FROM tmp
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)