当前位置: 首页 > 知识库问答 >
问题:

用jooq选择条件

华宣
2023-03-14

在SQL中,我可以执行以下类型的查询:

SELECT cost > 1000 AS above_k, name FROM products;
+---------+--------+
| above_k | name   |
+---------+--------+
| true    | Gold   |
| false   | Silver |
+---------+--------+
ctx.select(Tables.PRODUCTS.COST.gt(1000))

因为,没有方法select(Condition Condition)。或者如果我只是想:

SELECT cost*0.9 AS discounted_cost FROM products;

有没有一种方法可以使用Jooq来做到这一点?

共有1个答案

和季
2023-03-14
sql prettyprint-override">SELECT cost > 1000 AS above_k, name 
FROM products;
ctx.select(field(PRODUCTS.COST.gt(1000)).as("above_k"), PRODUCTS.NAME)
   .from(PRODUCTS)
   .fetch();

请参见DSL.Field(Condition)

SELECT cost*0.9 AS discounted_cost 
FROM products;
ctx.select(PRODUCTS.COST.mul(0.9).as("discounted_cost"))
   .from(PRODUCTS)
   .fetch();

请参阅field.mul(Number)field.multiply(Number)

 类似资料:
  • 如果我的查询结果是带有原始值的单个列,是否有办法使用jooq获取它们,避免原始装箱? 例如,从表中的每本书中获取页数作为int[]。

  • 常常来说,一个play的结果经常取决于一个变量的值,事件(从远端系统得到事件),或者之前任务的结果.在有些情况下,这些变量的值也会取决于其他变量. 进而,可以建立多余的组基于这些主机是否符合某些条件来操控主机,Ansible 提供了很多不同选项,来控制执行流. 让我们详细看看这些都是啥. When 语句 有时候用户有可能需要某一个主机越过某一个特定的步骤.这个过程就可以简单的像在某一个特定版本的系

  • 我想在SQL中执行以下操作: 在jOOQ中,我将subQ存储到Select中 我的问题是,如何从subQ中获取maxCol列,并在join中使用它?我的连接是这样的: 我在()上出错 类型字段中的方法eq(字符串)不适用于参数(字段) 我该怎么办?

  • 问题内容: 我正在尝试将其编译。.我有一个带有firstname和lastname字段的表,并且我有一个字符串,例如“ Bob Jones”或“ Bob Michael Jones”等。 事实是,例如我姓鲍勃,姓迈克尔·琼斯 所以我想 但是它说未知列“ firstlast” ..有人可以帮助吗? 问题答案: 您提供的别名用于查询的输出-它们本身在查询中不可用。 您可以重复表达: 或包装查询

  • 我正在尝试JOOQ,并试图使用连接语句从3个表(作者,书籍和文章)中进行选择。ERD如下: 我的问题如下: 我也有一个原型对象如下: (或任何其他pojo)将所有实体(作者详细信息图书列表文章列表)保存到一个对象中。我的问题是,是否有某种方法可以使用JOOQ将所有三个表映射到一个对象中。 提前谢谢。

  • 问题内容: 我正在尝试将其编译。.我有一个带有firstname和lastname字段的表,并且我有一个字符串,例如“ Bob Jones”或“ Bob Michael Jones”等。 事实是,例如,我姓鲍勃,姓迈克尔·琼斯 所以我想 但是它说未知列“ firstlast” ..有人可以帮助吗? 问题答案: 您提供的别名用于查询的输出-它们本身在查询中不可用。 您可以重复以下表达式: 或包装查询