mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-03-04 13:10:57 +08:00
update
33
嵌套查询.md
33
嵌套查询.md
@@ -16,6 +16,8 @@ fsql.Select<User1>()
|
||||
.ToList();
|
||||
```
|
||||
|
||||
> 提示:支持多表嵌套查询,fsql.Select\<User1, UserGroup1\>()
|
||||
|
||||
```sql
|
||||
SELECT *
|
||||
FROM (
|
||||
@@ -26,38 +28,11 @@ FROM (
|
||||
WHERE (a.[rownum] = 1)
|
||||
```
|
||||
|
||||
场景2:多表查询嵌套
|
||||
|
||||
```c#
|
||||
fsql.Select<User1, UserGroup>()
|
||||
.InnerJoin((a, b) => a.GroupId == b.Id)
|
||||
.Where((a, b) => b.GroupName == "group1")
|
||||
.WithTempQuery((a, b) => new
|
||||
{
|
||||
User = a,
|
||||
GroupName = b.GroupName,
|
||||
rownum = SqlExt.RowNumber().Over().PartitionBy(b.GroupName).OrderBy(a.Id).ToValue()
|
||||
})
|
||||
.Where(a => a.rownum == 1)
|
||||
.ToList();
|
||||
```
|
||||
|
||||
```sql
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT a.[Id], a.[Nickname], b.[GroupName], row_number() over( partition by b.[GroupName] order by a.[Id]) [rownum]
|
||||
FROM [User1] a
|
||||
INNER JOIN [UserGroup] b ON a.[GroupId] = b.[Id]
|
||||
WHERE (b.[GroupName] = 'group1')
|
||||
) a
|
||||
WHERE (a.[rownum] = 1)
|
||||
```
|
||||
|
||||
场景3:分组查询嵌套
|
||||
场景2:分组查询嵌套
|
||||
|
||||
待补充..
|
||||
|
||||
场景4:嵌套查询 + Join
|
||||
场景3:嵌套查询 + Join
|
||||
|
||||
待补充..
|
||||
|
||||
|
||||
Reference in New Issue
Block a user