我一直在尝试使用com.github.tminglei.slickpg.agg.PgAggFuncSupport.GeneralAggFunctions._
软件包中的slick-pg聚合函数产生以下输出
SELECT
"A".*,
string_agg ( "B"."name", ',' )
FROM
"A"
LEFT JOIN "B" ON "B"."a_id" = "A"."id"
GROUP BY
"A"."id";
到目前为止,我最大的尝试是:
Tables.A
.joinLeft(Tables.B)
.on(_.id === _.aId)
.groupBy(_._1)
.flatMap {
case (a, group) => {
group.map(
g => (a, stringAgg(g._2.map(_.name), ","))
)
}
}
但是Slick在解决语句的平面图部分时遇到了问题。 有人有见识吗?