永发信息网

sql中如何实现 以一个表为准与3个以上表比对删除不需要的数据?

答案:3  悬赏:40  手机版
解决时间 2021-02-04 16:46
比如 有表 A1,B1,C1,D1 其中A1中包含了 B1,C1,D1中的所有数据,现要删除A1中不包含在B1,C1,D1中的数据,也就是 A1-(B1+C1+C1+D1)

几个表中有2个主键都相同
最佳答案
假如这四个表有相同的字段col1,col2,col3

select A1.col1,A1.col2,A1.col3 from A1,
(select col1,col2,col3 from B1
union all
select col1,col2,col3 from C1
union all
select col1,col2,col3 from D1) AS E1
where A1.col1<>E1.col1 or A1.col2<>E1.col2 or A1.col3<>E1.col3

字段要多,你也就多加几条,类似这么写吧
-------补充-------
几个表的结构一样吗?
要是字段少,你就不要把 or A1.col3<>E1.col3 写上就好了,前边select A1.*

select A1.* from A1,
(select col1,col2,col3 from B1
union all
select col1,col2,col3 from C1
union all
select col1,col2,col3 from D1) AS E1
where A1.col1<>E1.col1 or A1.col2<>E1.col2
全部回答
--先添加 insert into c表(tel) (select b表.tel from a表 inner join b表 on a表.tel = b表.tel) --后删除 delete from b表 where (select count(tel) from a表 where a表.tel = b表.tel) > 0
SQLSERVER为例, + 用 union 来连接 -的话用 inters。。。函数名忘了。可以按帮助索引
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
翻打百张 高手进
女,70岁。因胆总管结石急症胆总管探查术后1
夜行人的意思是什么啊?知道的请说下!
35KV开关柜分合闸标准时间是多少
古田县劳务派遣有限公司地址有知道的么?有点
无线笔记本找不到无线局域网内的无线打印机
美图m6开机就显示工程模式四个字,怎么办?
夏邑县青少年篮球训练中心怎么去啊,我要去那
般若波罗蜜多心经是什么意思
我交行信用卡,收到短信通知,让我规范用卡,
东南国际航运仲裁院这个地址在什么地方,我要
fitu型号为mz63的平板电脑如何插卡
为什么我看漫画的时候会弹出这个东西?(看下
如果用“”表示氢原子,用“”表示氯原子.右
豫诺艺术培训中心地址好找么,我有些事要过去
推荐资讯
索泰gtx 750ti支持h.265硬解码吗
华润万家慈客隆逍林店地址在什么地方,想过去
节孝祠的意思是什么啊?知道的请说下!
归嵩山作 王维 鉴赏 300字只要300字左右哦~
理县古尔沟田园山庄地址在什么地方,我要处理
1.5*0.36*0.8的鱼缸能放多少升水
什么叫锥入度?其单位用什么表示?什么叫工作
【司棋潘又安】...潘又安逃走后司棋病倒。在
增城市个体劳动者协会仙村分会地址在什么地方
实体店的手机部分移动版和全网通版吗
中国传媒大学哪个专业研究生好考?
棉毯的意思是什么啊?知道的请说下!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?