sql关联查询出现很多重复记录
问:用sql语句进行多表连接查询出现重复数据
- 答:你的关联条件中 应该有多条数据的吧
- 答:重复的数据发几条出来看看啊
- 答:你这些关联表的条件以及表的字段外键关系没问题。最主要的是你没给出重复是哪些数据
where pdtl.PayPrincipal>0应该是where后这个条件不够严禁
看下面截图
pdtl.PayGUID这个字段重复,但是这是一个1对多的数据 - 答:你根据实际情况加个group by就好了。
- 答:1、用select语句,查看两个表中的数据,确认下来的结果是每个表中都只有两行数据;
2、尝试着用最常用的两表结合查询方式来看看结果----结果重复出现,并且结果错误:select a.pono,a.p_name,a.p_kg as 系统重量,b.p_kg as 实际重量 from test1 a,test2 b where a.pono=b.sono;
3、执行完整代码,可以得出结果,select isnull(a.pono,b.sono) as pono,isnull(a.p_name,b.p_name) as p_name, a.p_kg as 系统重量、 b.p_kg as 实际重量、 from test1 as a 、full join test2 as b on a.pono = b.sono、and a.p_name = b.p_name。 - 答:1、在电脑上打开要去掉重复数据的数据库,这里新建一张含有重复数据的user表。
2、输入“select * from user where name in (select name from user group by name having count(name) > 1) ”sql语句,点击运行可以看到查询出了数据库中user表的重复数据。
3、通过“delete from user where name in (select name from user group by name having count(name) > 1) ”sql语句删除姓名重复的数据。
4、也可以通过“select distinct name from user”sql语句来去掉重复数据,这里去掉了张三的重复数据。
5、通过“select distinct class from user”sql语句来去掉班级相同的重复数据。
问:sql查询结果有时候会出现重复数据
- 答:可能是 设计上存在问题, 或者 规则被破坏了。
也可能是sql语句,原先没有考虑周全,有遗漏的地方,原先没有出现问题,只是没有这种情况的数据出现
查询出 重复 数据,到数据库表中 去查,
数据库表中是否有 重复的2条数据, 如果有,那么就是1的情况
如果 数据库中 就是1条, 那么就是2 的情况。 - 答:1 看看数据库是否真的有重复记录
2 也许是查询语句关联不正确所致
不外乎这两种情况 - 答:具体问题具体分析,找到重复记录,看看是什么原因导致了重复结果
问:sql leftjoin多表查询,出现重复的数据,怎么办
- 答:楼主好,这种情况下,通常是这两张表的关系存在一对多的关系,所以就会出现重复情况,这种情况下,通常需要用子查询,根据规则去重复之后,再次关联,即可出现准确数据。但是子查询去重复的逻辑需要您根据自己业务中来。我随便举个例子:
假设A表和B表关联(关联列为A),但B表中存在一些粒度重复(A、B、C列),而我要去重复
select * from tableA a
join (select distinct A,B,C tableB) b on a.A=b.A - 答:出现重复的原因是两表不是一一对应的, JOIN以后会出现多结果集
你可以将结果集 distinct一下就可以了
本文来源: https://www.lw00.cn/article/76c8165080367a71e1330162.html