【问题标题】:Join multiple tables with aggregation in Squeryl在 Squeryl 中使用聚合连接多个表
【发布时间】:2013-04-25 14:41:54
【问题描述】:

我正在尝试将卡片与零件连接起来,然后将总库存值加入零件(某些零件没有库存行)。

我有以下我认为可行的东西..

def stockPerBase = from(stock)(s => groupBy(s.base) compute(sum(s.quantity)))
def allCardsWithStock = 
    join(cards, parts, stockPerBase.leftOuter)((c,p,s) =>
        on(c.partId === p.id, p.base === s.map(_.key))  
        select(c, p, s.measures))

但是我得到以下错误:

too many arguments for method on: (table: org.squeryl.Table[A])(declarations: A => Seq[org.squeryl.dsl.ast.BaseColumnAttributeAssignment])Unit
[error] on(c.partId === p.id, p.base === s.map(_.key))  

非常感谢任何有关我如何进行此类查询的帮助。

【问题讨论】:

    标签: postgresql scala orm squeryl


    【解决方案1】:

    select 子句应位于查询中的 on 之前。尝试颠倒这两个子句的顺序,它应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 2013-02-22
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      相关资源
      最近更新 更多