Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
zhaoyuehui123 opened this issue Jun 21, 2024 · 3 comments
Open

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

zhaoyuehui123 opened this issue Jun 21, 2024 · 3 comments

Comments

@zhaoyuehui123
Copy link

freeSql版本:3.2.820

.net版本:.net 8

问题描述及重现代码:

Join两个相同的表时生成的sql错误,生成后的select语句没有取出c表的字段,而且重复的取出了b表的字段。

var sql = Db.Select<TableUser, TableOrgan, TableOrgan>()
    .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:
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`
@2881099
Copy link
Collaborator

2881099 commented Jun 21, 2024

用abc别名

@zhaoyuehui123
Copy link
Author

嗯嗯 用abc好使

@zhaoyuehui123
Copy link
Author

用abc别名

能不能不限制非得使用abc别名,因为每个人的习惯确实不大一样,有人习惯使用xyz,有人习惯使用ijk,所以写代码时就特别特别容易出问题,而且生成的SQL还不一定报错,所以还是希望在代码层面上不要约束变量名称之类的。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants