永发信息网

如何合并表 SQL

答案:4  悬赏:50  手机版
解决时间 2021-02-18 05:26
如何合并表 SQL
最佳答案
物理合并很麻烦
直接运行查询

select * from a
union
select * from b
直接达到你的要求 重复的还没了
调用的时候嫌麻烦 直接把这个查询写成视图 跟表一样用
全部回答
方法1:
1. 新建一个临时表
create table tmp as select * from youtable group by name(name为不希望有重复的列)
2. 删除原来的表
drop table youtable
3. 重命名表
alter table tmp rename youtable
但是这个方法有个问题,由临时表转变过来的最终表,其表结构会和原来的不一致,需要手工更改。这个问题,待解决。
方法2:
1. 新建一个临时表
CREATE TABLE tmp AS SELECT * FROM youtable GROUP BY name(name为不希望有重复的列)
2. 清空原来的表
TRUNCATE TABLE youtable
3. 把临时表插入到youtable
INSERT INTO tablename SELECt * FROM temp
4. 删除临时表
DROp TABLE temp
方法3:
delete 表 where ID not in(select min(ID) from 表 group by 字段(注:重复的字段行))
你可以把表E建好先,表E的字段比表A和B多一个自增字段,表示每条记录的唯一标识,然后把A表和B表的记录插想E表:
insert into E(字段,...) select 字段...FROM A
insert into E(字段,...) select 字段...FROM A
插好后再删除重复的记录,假设E表自增ID名称为:rid,A和B相同的字段名称为ListID:
delete from E where rid in (select a.rid from E a inner join E b on a.ListID=b.ListID where a.rid>b.rid)
出来的结果表E则是唯一的,也许是罗嗦了点,但是我每次处理数据就是这样来的
而且正确率百分百
新建表c,结构和a一样
输入以下语句
select distinct *
from (select * from a
union
select * from b )a
然后ab表你可以自己考虑如何处理
那个group by的方式是错的,因为这里存在两张表,他那种只能让一张表内部不重复。
zengwei61的操作错误在,不光删除了重复记录,连正确记录都删除了
比如
a表有一个记录a,b表也有一个a,按照zengwei61的规则,两个a都会被删掉,一条不留。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何面对有公主病的女孩
【钢铁是怎么炼成的】钢铁是怎么样练成的
求js实现Beyond admin 展开当前导航
旭影美术学校地址在什么地方,我要处理点事!
有一朋友买玉石,在外面卖古玩的摊上,卖家要
我提出辞职已经一周,单位的人全部都已经知道
鄱阳县境内共有省道多少公里
越南富美工业区1区 在哪个城市
辛德勒的名单中辛德勒骑马看城区里犹太人被杀
借贷宝人人催上门会怎么样
日月文体超市地址有知道的么?有点事想过去
迁移的迁怎么组词
电脑获取桌面状态失败怎么回事
瘦了手上和手腕上的皮肤松了好多
芋艿和什么烧汤比较好!
推荐资讯
东海到沂南县顺丰快递要多长时间
常州市武进区发改局我想知道这个在什么地方
请问我的这枚虎年纪念币能值多少钱?
重庆市爱兴农业开发有限公司地址在哪,我要去
如果一个人性格不爱说话,喜欢玩游戏,给他打
福州 长白山旅游需要多少钱
爱wifi如何重新验证
梦幻西游虎骨酒
光速与物体的速度那我们现在的速度是多少 可
是不是钱到账也是24小时以后?
小学儿童对堆积在一起的立方体数目,常常不能
星际争霸1.08虫族农民永久隐身,一个虫族农民
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?