dotnetcore / dotnetcore/FreeSql

Join两个相同的表时生成的sql错误

Open
#1,830 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
4.4k
Forks
910
PR merge metrics
No merged PRs in 30d

Description

#### freeSql版本:3.2.820
#### .net版本:.net 8

#### 问题描述及重现代码:
Join两个相同的表时生成的sql错误,生成后的select语句没有取出c表的字段,而且重复的取出了b表的字段。

```c#
var sql = Db.Select()
.InnerJoin((x, y, z) => x.Organ1Id == y.Id)
.InnerJoin((x, y, z) => x.Organ2Id == z.Id)
.ToSql((x, y, z) => new { x, y, z });
Console.WriteLine(sql);
```
```sql
生成后的sql:
SELECT a.`Id` as1, a.`UserName` as2, a.`Organ1Id` as3, a.`Organ2Id` as4, b.`Id` as5, b.`OrganName` as6, b.`Id` as7, b.`OrganName` as8
FROM `TableUser` a
INNER JOIN `TableOrgan` b ON a.`Organ1Id` = b.`Id`
INNER JOIN `TableOrgan` c ON a.`Organ2Id` = c.`Id`
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.