Scala Group by与查询的投影在Slick中产生超过22列 请考虑以下方案
1表1包含16列 2表2包含18列 我需要从这些表中选择所有列,因为列34的总数超过了元组字段上的22个约束,所以我使用如下所示的投影将字段映射到case类对象。在以下要求的情况下,是否有其他方法来实现相同的目标 我还想根据用户输入,对34个选定列应用group by(按相等列数或少一列或少两列数),即对32列进行group by,并对其余两列应用sum。GROUPBY代码如下所示Scala Group by与查询的投影在Slick中产生超过22列 请考虑以下方案,scala,slick,Scala,Slick,1表1包含16列 2表2包含18列 我需要从这些表中选择所有列,因为列34的总数超过了元组字段上的22个约束,所以我使用如下所示的投影将字段映射到case类对象。在以下要求的情况下,是否有其他方法来实现相同的目标 我还想根据用户输入,对34个选定列应用group by(按相等列数或少一列或少两列数),即对32列进行group by,并对其余两列应用sum。GROUPBY代码如下所示 implicit s => val query = for
implicit s =>
val query = for
{
(t1, t2) <- Table1 leftJoin Table2 on
(_.A1 === _.A2)
}yield(
(t1.A1~t1.A2........~t1.A16)<>(Table1Rec,Table1Rec.unapply _)
(t2.A1~t2.A2........~t2.A18)<>(Table2Rec,Table2Rec.unapply _)
)
query.groupBy(tt=>(tt._1,tt._2)).map{
case ttt => ????
}
但是,我无法通过使用映射投影获得正确的语法来进行分组。请有人提供正确的方法来实现这一点的见解。之前关于这个场景的文章并没有提供解决方案,因此使用了简化的示例