mysql查询两张表中 两个字段的值不重复的数据

时间:2021-05-04 14:48:46
mysql查询两张表中 两个字段的值不重复的数据

mysql查询两张表中 两个字段的值不重复的数据


mysql查询两张表中 两个字段的值不重复的数据。A表中的oid和B表中的useoid中的数据有些事相同的。但是当查询A表的时候,oid如果和B表中useoid字段中的数据有重复,就不用查出来。
在查询A表的时候,B表中的useroid如果有和A表中的oid有重复的话就不用显示

6 个解决方案

#1


-- 大概这个样子
select * from a 
union all
select from b where not exists(select * from a where a.id = b.id and a.no= b.no)

#2


select * from  A where not exists(select 1 from B where A.od=B.useroid)

#3


引用 1 楼 wmxcn2000 的回复:
-- 大概这个样子
select * from a 
union all
select from b where not exists(select * from a where a.id = b.id and a.no= b.no)

[SQL]select * from tb_order a
union all
select * from tb_usermagic b where not exists(select * from tb_order a where a.oid = b.useOid and a.oid.no= b.useOid.no)

[Err] 1054 - Unknown column 'a.oid.no' in 'where clause'

#4


引用 1 楼 wmxcn2000 的回复:
-- 大概这个样子
select * from a 
union all
select from b where not exists(select * from a where a.id = b.id and a.no= b.no)


上面那个写错了 

[SQL]select * from tb_order a
union all
select * from tb_usermagic b where not exists(select * from tb_order a where a.oid = b.useOid and a.no= b.no)

[Err] 1054 - Unknown column 'a.no' in 'where clause'

#5


SELECT * FROM A AS T WHERE OID IN (
SELECT Oid FROM A WHERE NOT EXISTS(SELECT 1 FROM B WHERE UseOid=A.Oid) GROUP BY Oid HAVING COUNT(*)=1)

#6


引用 4 楼 qq_27246087 的回复:
Quote: 引用 1 楼 wmxcn2000 的回复:

-- 大概这个样子
select * from a 
union all
select from b where not exists(select * from a where a.id = b.id and a.no= b.no)


上面那个写错了 

[SQL]select * from tb_order a
union all
select * from tb_usermagic b where not exists(select * from tb_order a where a.oid = b.useOid and a.no= b.no)

[Err] 1054 - Unknown column 'a.no' in 'where clause'


你把列名,要换成你的自己的,我只是写个例子;

PS: 楼主有点懒啊。 mysql查询两张表中 两个字段的值不重复的数据

#1


-- 大概这个样子
select * from a 
union all
select from b where not exists(select * from a where a.id = b.id and a.no= b.no)

#2


select * from  A where not exists(select 1 from B where A.od=B.useroid)

#3


引用 1 楼 wmxcn2000 的回复:
-- 大概这个样子
select * from a 
union all
select from b where not exists(select * from a where a.id = b.id and a.no= b.no)

[SQL]select * from tb_order a
union all
select * from tb_usermagic b where not exists(select * from tb_order a where a.oid = b.useOid and a.oid.no= b.useOid.no)

[Err] 1054 - Unknown column 'a.oid.no' in 'where clause'

#4


引用 1 楼 wmxcn2000 的回复:
-- 大概这个样子
select * from a 
union all
select from b where not exists(select * from a where a.id = b.id and a.no= b.no)


上面那个写错了 

[SQL]select * from tb_order a
union all
select * from tb_usermagic b where not exists(select * from tb_order a where a.oid = b.useOid and a.no= b.no)

[Err] 1054 - Unknown column 'a.no' in 'where clause'

#5


SELECT * FROM A AS T WHERE OID IN (
SELECT Oid FROM A WHERE NOT EXISTS(SELECT 1 FROM B WHERE UseOid=A.Oid) GROUP BY Oid HAVING COUNT(*)=1)

#6


引用 4 楼 qq_27246087 的回复:
Quote: 引用 1 楼 wmxcn2000 的回复:

-- 大概这个样子
select * from a 
union all
select from b where not exists(select * from a where a.id = b.id and a.no= b.no)


上面那个写错了 

[SQL]select * from tb_order a
union all
select * from tb_usermagic b where not exists(select * from tb_order a where a.oid = b.useOid and a.no= b.no)

[Err] 1054 - Unknown column 'a.no' in 'where clause'


你把列名,要换成你的自己的,我只是写个例子;

PS: 楼主有点懒啊。 mysql查询两张表中 两个字段的值不重复的数据