groupBy의 "group"부분에서 요소를 선택하는 가장 좋은 방법은 무엇입니까? ([key -> group] 관계가되는 groupBy). 가능한 경우 하나의 db 히트 또는 적어도 일정한 히트가 발생해야합니다.Slick : groupBy "group"에서 요소 가져 오기
예를 들어 Locations (id) 및 Companies (id, locationId, foundedDate) 테이블이 있다고 가정 해 보겠습니다. 각 지역에서 가장 오래된 회사를 어떻게 찾을 수 있습니까?
나는 이런 식으로했을:
Locations.join(Companies).on(_.id === _.locationId).groupBy(_._1).flatMap {
case (location, companies) =>
companies.map(_._2).sortBy(_.foundedDate).take(1).map {
company => (location, company)
}
}
을하지만이 런타임 예외가 생성
scala.slick.SlickException: Unsupported query shape containing .groupBy without subsequent .map
at scala.slick.compiler.FuseComprehensions.fuse(Relational.scala:200)
...
의도는 있지만 추가 정보는 질문에 대답하지 않습니다. 질문에 대한 의견으로 더 적합 할 것입니다. –