プレーン SQL でクエリを作成し、Quill を使用して実行したいのですが、 infix operator を使用しています。私のコードはこのようなものです。
case class Employee(name: String, age: String, company_name: String)
case class Company(name: String, pin_code: String)
case class CombinedEmployee(employee_age: Int,
employee_name: Option[String],
company_name: String,
pin: Option[String])
val sql = "SELECT t1.age AS employee_age, t1.name AS employee_name, t2.name AS company_name, t2.pin as pin FROM employee t1 JOIN company t2 ON t1.company_name = t2.name"
// 動的に計算されるものなら何でもかまいません。
def rawQuery = quote { (myQuery: String) =>
infix"""$myQuery"""
.as[Query[CombinedEmployee]]
}
そして私は呼んでいます
ctx.translate(rawQuery(lift(sql)))
これは印刷します
SELECT x.employee_age, x.employee_name, x.company_name, x.pin FROM ('SELECT t1.age AS employee_age, t1.name AS employee_name, t2.name AS company_name, t2.pin as pin FROM employee t1 JOIN company t2 ON t1.company_name = t2.name') AS x
これは間違った構文run
です。メソッドを使用してこれを実行すると、これは失敗します。プレーンSQLの書き方は正しいですか?? いいえの場合、プレーン SQL を実行してケース クラスにモデル化する別の方法はありますか??