【发布时间】:2023-03-22 15:57:02
【问题描述】:
我正在尝试使用 Slick 3.0 执行以下 sql 查询
select cm_buyer.conversation_id
from conversations c
inner join conversation_members cm_buyer on cm_buyer.conversation_id = c.id
inner join conversation_members cm_seller on cm_buyer.conversation_id = cm_seller.conversation_id
where (cm_buyer.talker_id = "7LUhaK"
and cm_buyer.is_buyer = 1)
and c.`product_id` = "2"
and (cm_seller.`talker_id` = "BBBBBB" and cm_seller.is_buyer = 0);
我是 Slick 的新手,而且我从来都不是 mysql 的超级专家,所以我需要一些帮助。如您所见,我正在从会话表到同一个表会话成员进行两次联接。
我正在做类似的事情:
val sellerId = TalkerId("7LUhak")
val buyerId = TalkerId("BBBBBB")
val conversationMembers = TableQuery[ConversationMemberTable]
val conversations = TableQuery[ConversationTable]
val query = for {
a <- conversations join conversationMembers on (_.id === _.conversationId)
// SOME MAGIC HERE
} yield (something)
PersistenceUtils.run(query.result)
我已经对这两个表查询(添加、简单选择...)进行了一些基本查询,因此映射已正确完成。我试过在魔法部分做了很多事情,但没有运气:(
你能帮我解决这个问题吗?
谢谢!
塞尔吉
【问题讨论】:
标签: mysql scala slick slick-3.0