sql关联查询出现很多重复记录

sql关联查询出现很多重复记录

问:用sql语句进行多表连接查询出现重复数据
  1. 答:你的关联条件中 应该有多条数据的吧
  2. 答:重复的数据发几条出来看看啊
  3. 答:你这些关联表的条件以及表的字段外键关系没问题。最主要的是你没给出重复是哪些数据
    where pdtl.PayPrincipal>0应该是where后这个条件不够严禁
    看下面截图
    pdtl.PayGUID这个字段重复,但是这是一个1对多的数据
  4. 答:你根据实际情况加个group by就好了。
  5. 答: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。
  6. 答: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查询结果有时候会出现重复数据
  1. 答:可能是 设计上存在问题,  或者 规则被破坏了。
    也可能是sql语句,原先没有考虑周全,有遗漏的地方,原先没有出现问题,只是没有这种情况的数据出现
     
    查询出 重复 数据,到数据库表中 去查, 
     
    数据库表中是否有 重复的2条数据, 如果有,那么就是1的情况
     
    如果 数据库中 就是1条, 那么就是2 的情况。
  2. 答:1 看看数据库是否真的有重复记录
    2 也许是查询语句关联不正确所致
    不外乎这两种情况
  3. 答:具体问题具体分析,找到重复记录,看看是什么原因导致了重复结果
问:sql leftjoin多表查询,出现重复的数据,怎么办
  1. 答:楼主好,这种情况下,通常是这两张表的关系存在一对多的关系,所以就会出现重复情况,这种情况下,通常需要用子查询,根据规则去重复之后,再次关联,即可出现准确数据。但是子查询去重复的逻辑需要您根据自己业务中来。我随便举个例子:
    假设A表和B表关联(关联列为A),但B表中存在一些粒度重复(A、B、C列),而我要去重复
    select * from tableA a
    join (select distinct A,B,C tableB) b on a.A=b.A
  2. 答:出现重复的原因是两表不是一一对应的, JOIN以后会出现多结果集
    你可以将结果集 distinct一下就可以了
sql关联查询出现很多重复记录
下载Doc文档

猜你喜欢