我的 MySQL 数据库中有 3 个表:applications、users 和 application_images。 我需要编写一个查询来生成下一个 SQL:
SELECT * FROM applications
JOIN users ON applications.user_id=users.id
LEFT JOIN applications_images ON applications_images.app_id=applications.id
WHERE applications.id=?
如何使用巧妙的语法来实现这一点?
关于同一主题:如何使用 slick(在 MySQL DB 上)编写普通 SQL 查询?
最佳答案
使用leftJoin
时,您可以使用?
方法将表投影到Option
。你的可能看起来像这样:
applications join users on (_.user_id === _.id) map {
case (app, user) => (app, user)
} leftJoin application_images on (_._1.id === _.app_id) map {
case ((app, user), image) => (app, user, image.?)
} filter(_._1.id === {id})
关于mysql - Scala Slick MySQL - 执行高级 SQL 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26874268/