写sql查询两张表当中不一样的数据
答案:2 悬赏:40 手机版
解决时间 2021-03-08 18:54
- 提问者网友:却不属于对方
- 2021-03-08 11:16
两个表a1、b2,a1中的name与b2中的user_name数据相同。但是有一些数据只在a1当中存在,b2里不存在;比如a1name存在,b2user_name不存在,如何去写这条sql?50分送上
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-03-08 12:47
要把a1中比b2中多的这些数据查出来是吗,还是一样的数据查出来,
全部回答
- 1楼网友:神也偏爱
- 2021-03-08 12:55
答案2:
设表有三个字段,先将两个字段再加入一个同名不同值的字段联合,再对联合表按原有全部字段分组,取计数为1的记录为两表不同的记录.
select fielda,fieldb,fieldc from (select *,a='a' from tablea union select *,a='b' from tableb) a group by fielda,fieldb,fieldc having count(1)=1
===========================
答案一:
转换所有字段为字符型,合并成一个字段以方便比较,然后将两个表中独有的数据集分别取出然后连接:
select * from a
where
convert(varchar,fielda)+
convert(varchar,fieldb)+
convert(varchar,fieldc)
not in
(select
convert(varchar,fielda)+
convert(varchar,fieldb)+
convert(varchar,fieldc)
from b
)
union
select * from b
where
convert(varchar,fielda)+
convert(varchar,fieldb)+
convert(varchar,fieldc)
not in
(select
convert(varchar,fielda)+
convert(varchar,fieldb)+
convert(varchar,fieldc)
from a
)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯