我的MySQL数据库中有3个表:应用程序,用户和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查询?
答案 0 :(得分:1)
使用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})