基本难题,高手进!100分!

luler 2006-05-15 07:51:44
有两个表,A 和B
A,B结构相同,数据不同

A.B 结构都是 id, name1, name2 , keyname

A表数据:

1 张三 李四 0
2 牛九 牛八 1
3 可爱 MM 5

B表数据:

2 ll l4 2
3 l5 l6 4
5 tt nn 0

问题: 现在想用 B 表的数据更新 A表内ID相同的数据(但只更新字段 name1 和name2 ,其余不更新),如果A表没有和B表相同的ID 则在A表插入B表的数据.

等到的结果应该为

A表数据:

1 张三 李四 0
2 ll 14 1
3 l5 16 4
5 tt nn 0

请问这个MYSQL语句如何实现?
...全文
188 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
XqYuan 2006-05-17
  • 打赏
  • 举报
回复
update a,b set a.name1=b.name1,a.name2=b.name2 where a.id=b.id

insert into a select b.* from b left join a on b.id=a.id where a.id is null
luler 2006-05-16
  • 打赏
  • 举报
回复
jion left不可以???
XqYuan 2006-05-16
  • 打赏
  • 举报
回复
要用一个update,一个insert
luler 2006-05-16
  • 打赏
  • 举报
回复

godfather_wang() :

update a set name1=b.name1,name2=b.name2 from a,b where a.id=b.id

这个出错啊....
godfather_wang 2006-05-16
  • 打赏
  • 举报
回复
update a set name1=b.name1,name2=b.name2 from a,b where a.id=b.id

insert into a select * from b where id not in (select id from a )
商科程序员 2006-05-15
  • 打赏
  • 举报
回复
一个SQL应该解决不了问题! 应该写个存储过程.
luler 2006-05-15
  • 打赏
  • 举报
回复
YUPPPPPPP!
zhqs1000 2006-05-15
  • 打赏
  • 举报
回复
帮你顶,不会mysql

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧