sql leftjoin多表查询,出现重复的数据,怎么办

2024-12-05 04:41:06
推荐回答(2个)
回答(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一下就可以了