在 Slick 中向 joinLeft 添加两个条件
Adding two conditions to joinLeft in Slick
这样编译:
val table1 = TableQuery[Table1]
val table2 = TableQuery[Table2]
val query = for {
(t1, t2) <- table1 joinLeft table2 on (_.dsType === _.dsType)
} yield (t1, t2)
这不编译:
val table1 = TableQuery[Table1]
val table2 = TableQuery[Table2]
val query = for {
(t1, t2) <- table1 joinLeft table2 on (_.dsType === _.dsType && _.dsSk === _.dsSk)
} yield (t1, t2)
向 joinLeft
添加两个条件的语法是什么?
你可以指定向哪个table请求属性,并用运算符&&分隔:
val table1 = TableQuery[Table1]
val table2 = TableQuery[Table2]
val query = for {
(t1, t2) <- table1.joinLeft(table2).on((tab1, tab2) => tab1.dsType === tab2.dsType && tab1.dsSk === tab2.dsSk)
} yield (t1, t2)
与此问题类似的答案是:
How to add AND to the join SLICK
这样编译:
val table1 = TableQuery[Table1]
val table2 = TableQuery[Table2]
val query = for {
(t1, t2) <- table1 joinLeft table2 on (_.dsType === _.dsType)
} yield (t1, t2)
这不编译:
val table1 = TableQuery[Table1]
val table2 = TableQuery[Table2]
val query = for {
(t1, t2) <- table1 joinLeft table2 on (_.dsType === _.dsType && _.dsSk === _.dsSk)
} yield (t1, t2)
向 joinLeft
添加两个条件的语法是什么?
你可以指定向哪个table请求属性,并用运算符&&分隔:
val table1 = TableQuery[Table1]
val table2 = TableQuery[Table2]
val query = for {
(t1, t2) <- table1.joinLeft(table2).on((tab1, tab2) => tab1.dsType === tab2.dsType && tab1.dsSk === tab2.dsSk)
} yield (t1, t2)
与此问题类似的答案是: How to add AND to the join SLICK