日期:2014-05-17  浏览次数:20502 次

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表数据插入到第三张表里就行了。

你这要求我觉得别扭。

 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



------解决方案--------------------
所以啊 问问题的人不把问题描述清楚 还要我们这些回答的人给他弄出来。
哎~~~~~
------解决方案--------------------
探讨

还有 A 有 B 没有的呢?

insert into C
select * from A, B where A.zhanghao=B.zhanghao
union
select * from A
union
select * from B