永发信息网

写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 )
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯