sql语句求助,不知怎么写。
我现在有两张表 A表 和 B表 A表有个字段是zhanghao,mobile, B表有zhanghao,username,address, 现在A表总共有15条数据,B表有20条数据,我想把A表和B表相同字段值相等插入到第三张表里,把多余的那五条数据也插入到第三张表里,也就是相等的插入到一条数据,不相等的重新插入到一条数据,怎么弄?谢谢大家了。
------解决方案--------------------
用A、B表关联 账号相等的插入 C表 不相等的插入D 表
- SQL code
INSERT INTO C ( 字段1, 字段2, 字段3 ) 字段1, 字段2, 字段3 FROM A , B where A.zhanghao = B.zhanghao; INSERT INTO D ( 字段1, 字段2, 字段3 ) 字段1, 字段2, 字段3 FROM A , B where A.zhanghao != B.zhanghao;
------解决方案--------------------
insert into C select * from A ,B where A.zhanghao=B.zhanghao;
insert into C select * from B where zhanghao not in(select zhanghao from A);
------解决方案--------------------
我意思如果A表和B表相同字段的值相等的插入一条数据到第三张表,如果不相等只把A表数据插入到第三张表里就行了。
你这要求我觉得别扭。
A
1 mobile1
2 mobile2
3 mobile3
B
1 zhang bj
2 li shang
4 wang ji
是不是zhanghao一样的,将A+B数据插入C ,而A中存在B不存在的只把A插入C???
------解决方案--------------------
还有 A 有 B 没有的呢?
insert into C
select * from A, B where A.zhanghao=B.zhanghao
union
select * from A
union
select * from B
------解决方案--------------------
所以啊 问问题的人不把问题描述清楚 还要我们这些回答的人给他弄出来。
哎~~~~~
------解决方案--------------------