0

MySQL データベースには、applications、users、application_images の 3 つのテーブルがあります。次の 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=?

これは、洗練された構文でどのように達成できますか?

そして同じ主題について: どうすれば (MySQL DB で) slick を使用してプレーンな SQL クエリを作成できますか?

4

1 に答える 1

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})
于 2014-11-11T22:59:52.227 に答える