MYSQL双表查询时出现数据重复

今天在做双表查询的时候出现了同一条数据出现2次的问题(重复数据)。

前景提要:

  A表和B表   A表中有A.sourseId。B表中也有B.sourseId。

                          A表中有A.accountsetId。B表中也有B.accountsetId。

a.assetCode = b.code   这个是两表之间的关联关系。

--------------------------分割线

因为SQL查询条件有2个条件,即sourseId = 某个值  , accountsetId = 某个值。

当SQL写成 :

select a.field1 , a.field2 , b.field1 , b.field2  from A as a , B as b where 1=1 AND a.assetCode = b.code  AND  a.sourceid = 值  AND a.accountsetid = 值 (也尝试了左连接版本的SQL)

都出现了这个问题 ~ 即结果集中 返回的数据有重复数据。

经过尝试,解决方案:

当查询条件的 a.sourceid 和  a.accountsetid 都从一个表中查询时,则会出现重复数据。 

只需要把查询条件改成  b.sourceid AND a.accountsetid  或者 a.sourceid  AND b.accountsetid 即可。

select a.field1 , a.field2 , b.field1 , b.field2  from A as a , B as b where 1=1 AND a.assetCode = b.code  AND  a.sourceid = 值  AND b.accountsetid = 值 

这样就好了。

原文地址:https://www.cnblogs.com/llja/p/13543072.html