scala - Ineer Join 查询在 scala slick 中的位置
问题描述
我有两个表地址,地址表 Adrressid 中的 UserAddressMapping,地址在那里,在第三个表中我映射了这个用户 ID 和地址 ID
在 sql
Select a.Addressid,a.AddressNmae
from address table a
inner join UserAdrressmaping b on a.Adessressid=b.Adreesid
where userid=1
How to write this thing in Scala slick 这就是我所做的
def innerJoin1(UserId:Int): Future[Seq[UserRegister]] = {
val join=address.join(addressid).on(_.Userid === _.UserId)
dbConfig.run(join.result )
}
解决方案
对于内部连接,您可以使用带有过滤子句的 slick 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)
推荐阅读
- tensorflow - Tensorflow - ImportError:DLL加载失败:动态链接库(DLL)初始化例程失败
- c# - 错误 CS0246 找不到类型或命名空间名称“IUnityCompiledFacade”(您是否缺少 using 指令或程序集引用?)
- go - 为什么看不到函数 f 的输出?
- javascript - 将 Props 参数的值设为未定义(ReactJS)
- android - 无法解析 FirebaseInstanceIDService 类中的方法“GetApplicationContext()”
- python - “TypeError: G must be a 'd' matrix”在“cvxpy”中是什么意思?
- angular - Angular 8 Angular Element(自定义 Web 组件)样式
- winapi - 写入内存缓冲区并检查它是否已满并在 Win32 平台上出现 SEH 异常?
- c# - 在当前上下文中不退出的 Linq
- java - 如何解决此错误 - 错误:找不到符号