2016-07-15 9 views
1

を選択する内部カウント:Esqueletoは、私が<code>Entities</code>を以下している

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

esqueleto docs for groupByには、使用方法の良い例が含まれています。

do people <- select $ 
      from $ \person -> do 
      return person 

置く二つが一緒にこのような何かが動作するはずです意味:

また、Getting Startedセクションを読んで、あなたはtable.*の同等を含むクエリのいくつかの例を参照してくださいよ

select $ from \(g `LeftOuterJoin` gh) -> do 
    on (gu ^. GroupId ==. g ^. Id) 
    groupBy (g ^. Id) 
    return (g, countRows) 
関連する問題