我有两个表地址,UserAddressMapping 在Adress表Adrressid中,地址在那里,在第三张表中,我映射了该用户ID和地址ID
在sql
Select a.Addressid,a.AddressNmae
from address table a
inner join UserAdrressmaping b on a.Adessressid=b.Adreesid
where userid=1
如何用Scala slick编写此东西 这远远不是我所做的
def innerJoin1(UserId:Int): Future[Seq[UserRegister]] = {
val join=address.join(addressid).on(_.Userid === _.UserId)
dbConfig.run(join.result )
}
答案 0 :(得分:0)
对于内部联接,您可以使用带有过滤子句的光滑applicative-join。 例如:
val query = for {
(address, userAddressMapping) <- Address join UserAddressMapping on (_.id === _.addressId)
if userAddressMapping.userId === 1
} yield (address.id, address.name)
dbConfig.run(query.result)
答案 1 :(得分:0)
只是前一个的补充。如果您碰巧有by
的{{1}},请不要忘记将其投射:
BigDecimal