2013-04-25 4 views
1

파트와 함께 카드에 참여하려고하고 합계 된 주식 값을 파트에 결합하려고합니다 (일부 파트는 주식 행을 갖지 않습니다). 나는 그런 질문을 할 수있는 방법에 어떤 도움이 크게 apprecited됩니다Squeryl에서 집계가있는 여러 테이블 결합하기

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)) 

:

는 내가 일 것이라고 생각 다음 ..

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)) 

그러나 나는 다음과 같은 오류가 있습니다.

답변

2

select 절은 쿼리에서 on 앞에 와야합니다. 두 절의 순서를 반대로하면 효과가 있습니다.