Scala 在Slick中为joinLeft添加两个条件
这包括:Scala 在Slick中为joinLeft添加两个条件,scala,slick,slick-3.0,Scala,Slick,Slick 3.0,这包括: 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 que
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)您可以指定在on中向哪个表请求属性,并由运算符&&&分隔:
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)
val table1=TableQuery[table1]
val table2=TableQuery[table2]
val query=for{
(t1,t2)tab1.dsType==tab2.dsType&&tab1.dsSk==tab2.dsSk)
}产量(t1,t2)
与此类似的问题在以下章节中得到了回答:
您可以指定在on中向哪个表请求属性,并由运算符(&&)分隔:
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)
val table1=TableQuery[table1]
val table2=TableQuery[table2]
val query=for{
(t1,t2)tab1.dsType==tab2.dsType&&tab1.dsSk==tab2.dsSk)
}产量(t1,t2)
与此类似的问题在以下章节中得到了回答:
匿名函数中的四个下划线表示它应该包含四个参数,每个第n个参数对应于第n个下划线。但是
上的需要一个包含两个参数的函数。匿名函数中的四个下划线表示它应该包含四个参数,每个第n个参数对应于第n个下划线。但是on
需要一个包含两个参数的函数。