【发布时间】:2015-06-06 13:55:00
【问题描述】:
我一直在玩 jOOQ(在 Scala 中),希望能回答(看似简单的)问题:如何查看已别名的字段?
希望下面的例子能说明我的问题:
import org.jooq.impl._
import org.jooq.impl.DSL._
val a = field("a", SQLDataType.DOUBLE)
val b = a.as("b")
// prints "b"
println(b)
// however, I would like it to print a "b" as in
select(b)
编辑:
我发现@Lukas Eder 提供的答案不起作用的情况。以下案例的修改答案将不胜感激(欢呼):
val f = field("amount", SQLDataType.DOUBLE)
val p = field("partition", SQLDataType.INTEGER)
val o = field("order_by", SQLDataType.DATE)
// prints as expected
val r = coalesce(sum(f).over().partitionBy(p).orderBy(o), 0)
// coalesce(
// sum(amount) over (partition by partition order by order_by asc),
// 0)
val a = r.as("test")
// question mark instead of 0
println(
DSL.using(SQLDialect.POSTGRES)
.renderContext()
.declareFields(true)
.render(a)
)
// coalesce(sum(amount) over (partition by partition order by order_by asc), ?) as "test"
【问题讨论】: