mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-03-01 11:40:57 +08:00
update
31
嵌套查询.md
31
嵌套查询.md
@@ -26,11 +26,38 @@ FROM (
|
||||
WHERE (a.[rownum] = 1)
|
||||
```
|
||||
|
||||
场景2:分组查询后嵌套
|
||||
场景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:分组查询嵌套
|
||||
|
||||
待补充..
|
||||
|
||||
场景3:嵌套查询 + Join
|
||||
场景4:嵌套查询 + Join
|
||||
|
||||
待补充..
|
||||
|
||||
|
||||
Reference in New Issue
Block a user