从光滑的纯SQL查询返回元组列类型

时间:2018-03-20 19:39:12

标签: sql postgresql scala slick

在使用postgres的光滑3中,我试图使用带有元组列返回类型的普通sql查询。我的查询是这样的:

sql"""
  select (column1, column2) as tup from table group by tup;
""".as[((Int, String))]

但是在编译时我收到以下错误:

  

找不到参数rconv的隐含值:slick.jdbc.GetResult [((Int,String),String)]

如何使用普通的sql查询返回元组列类型?

1 个答案:

答案 0 :(得分:1)

GetResult[T]是函数PositionedResult => T的包装器,并期望使用PositionedResult方法的隐式val(例如nextIntnextString来提取位置类型字段。以下隐含的val应该满足您的需求:

implicit val getTableResult = GetResult(r => (r.nextInt, r.nextString))

可在此Slick doc中找到更多详细信息。