请考虑以下方案
1)表1包含16列 2)表2包含18列
我需要从这些表中选择所有列,因为列总数(34)超过22(对元组字段的约束),我使用如下所示的投影将字段映射到案例类对象。是否有其他方法可以在以下要求的背景下实现相同的目标?
我还希望在34个选定的列上使用相同数量的列来应用group by,或者根据用户输入将一个或两个更少的组应用,即分组32列,并在剩余的两列上应用总和。按代码分组如下所示
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 => ????
}
但是,我没有通过使用映射投影获得正确的语法。有人可以提供有关实现这一目标的正确方法的见解。此场景的早期帖子没有提供解决方案,因此以简化示例发布。