里面的骨架数 select
Esqueleto count inside select
我有以下 Entities
:
Group
name Text
GroupUser
user UserId
group GroupId
我想做这样的查询:
select g.* /* Everything from g */
, count(gu.id) groupUsersCount
from Group g
left outer join GroupUser gu on gu.groupId = g.id
group by g.id
用Esqueleto
可以吗?
esqueleto docs for groupBy
包含很好的使用示例。
此外,通过阅读 Getting Started 部分,您将看到几个查询示例,包括 table.*
:
的等效项
do people <- select $
from $ \person -> do
return person
将两者放在一起意味着这样的事情应该有效:
select $ from \(g `LeftOuterJoin` gh) -> do
on (gu ^. GroupId ==. g ^. Id)
groupBy (g ^. Id)
return (g, countRows)
我有以下 Entities
:
Group
name Text
GroupUser
user UserId
group GroupId
我想做这样的查询:
select g.* /* Everything from g */
, count(gu.id) groupUsersCount
from Group g
left outer join GroupUser gu on gu.groupId = g.id
group by g.id
用Esqueleto
可以吗?
esqueleto docs for groupBy
包含很好的使用示例。
此外,通过阅读 Getting Started 部分,您将看到几个查询示例,包括 table.*
:
do people <- select $
from $ \person -> do
return person
将两者放在一起意味着这样的事情应该有效:
select $ from \(g `LeftOuterJoin` gh) -> do
on (gu ^. GroupId ==. g ^. Id)
groupBy (g ^. Id)
return (g, countRows)