winform,c#左链接查询两张表或多张表,数据库正常,但是发现查出来的同一条记录变成了好几倍

发布时间 2023-09-01 16:06:36作者: wang王dd

这个样子就是犯了笛卡尔积,

我有两张表

那我自己项目来说一下吧:

a表的内容如下:

 b表的内容如下:

 到这里,你会发现,又五六个字段内容是一模一样的,该字段两张表都用,那么查询出来数据翻倍就很好解决了

在where后面加上a.字段1 = b.字段1 and ...... and a.字段n = b.字段n就可以了

也就是将两张表都存在的字段全部加到where后面就可以规避笛卡尔积了