Scala scalikejdbc выберите запрос, чтобы вернуть карту - PullRequest
0 голосов
/ 05 октября 2018

У меня есть запрос, который выполняет некоторые агрегации, которые выглядят так:

  override def getMinMax(products: Seq[Product]): List[(String, BigDecimal, BigDecimal)] = {
    val ids = productsToSqlString(products)
    DB readOnly { implicit session =>
      sql"""SELECT id, min(p_discount_rate), max(p_discount_rate)
            |FROM ${Product.table}
            |WHERE p_config_sku IN ${configSkus} AND p_is_deleted IS FALSE
            |GROUP BY id
            """.stripMargin
        .map(rs => rs.string(1) -> (BigDecimal(rs.string(2)), BigDecimal(rs.string(3)))).toMap.list.apply

    }

Я хотел бы, чтобы это возвращало карту идентификаторов для кортежей больших десятичных величин (ставок дисконтирования). Я не совсем уверен, как достичьчто

Бест.

1 Ответ

0 голосов
/ 05 октября 2018
import scala.collection.breakOut    

val myData: List[(String, BigDecimal, BigDecimal)] = ???

val myMap: Map[String, (BigDecimal, BigDecimal)] = myData.map{ case (id, t1, t2) => id -> (t1 -> t2) }(breakOut) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...