mysql - Scala Slick MySQL - 执行高级 SQL 操作

标签 mysql scala playframework slick-2.0

我的 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/

相关文章:

php - 在php中从数据库中提取前三项

xml - 对象 xml 不是包 scala 的成员

Scala 和 Spark : how to go through an image?

Play Framework Routes 中的 Scala 反引号

scala - 为所有子模块生成 jacoco 代码覆盖率报告

mysql - 期待一个表情。 MySQL

sql - 在存储过程中接受多种数据类型

mysql - 同一个表的多个外键 - Doctrine2

scala - 如何使用隐式参数实现FRP?

java - play sbt 无法在 scala docker 镜像上启动