首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ScalaQuery为count(*) sql构建查询?

如何使用ScalaQuery为count(*) sql构建查询?
EN

Stack Overflow用户
提问于 2010-09-25 03:18:03
回答 1查看 1.5K关注 0票数 2

当我用ScalaQuery编程时,如何构建一个"select (*) from表“语句?

我用了一个

查询(TestTable.count)

但是生成的select语句是:

选择count(*) from (从TestTable t2选择t1 )t1

我要的是:

从TestTable中选择count(*)

为我糟糕的英语感到抱歉。

代码语言:javascript
复制
import org.scalaquery.ql.extended.MySQLDriver.Implicit._
import org.scalaquery.session._
import org.scalaquery.session.Database.threadLocalSession
import org.scalaquery.ql.Query
import org.scalaquery.ql.basic.{BasicTable => Table}

object Test {
  val db = Database.forURL(...)
  db withSession {
    val q = Query(TestTable.count)
    println(q.selectStatement)
  }
}
object TestTable extends Table[(Long, Int)]("test") {
  def id = column[Long]("id")
  def config = column[Int]("config")
  def * = id ~ config
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-26 13:01:55

我不该这么快就把它叫做窃听器。生成的代码是正确的,但显然不理想。从ScalaQuery 0.9.0开始,只能通过手动将CountAll操作符插入查询AST获得所需的语句:

代码语言:javascript
复制
TestTable.map(t => ColumnOps.CountAll(t))

为了改善这种情况,我刚刚进行了一次更改,以便在许多情况下避免不必要的子查询。在ScalaQuery 0.9.1中,您最初的尝试“查询(TestTable.count)”应该可以像预期的那样工作。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3792347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档