1

我有以下内容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吗?

4

1 回答 1

4

esqueleto 文档groupBy包含如何使用它的好例子。

此外,通过阅读入门部分,您将看到几个查询示例,包括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)
于 2016-07-15T18:11:40.430 回答