今天在做双表查询的时候出现了同一条数据出现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 = 值
这样就好了。