我在JOOQ中手动声明用于简单(但类型安全)查询的表和字段,使用:
Table<Record> myTable = DSL.table(DSL.name("my_table"));
Field<String> myField = DSL.field(DSL.name("my_table", "my_field"), String.class);
为myTable
创建别名很容易:
Table<Record> myAlias = myTable.as("a");
但是我如何在myAlias中访问myField的值呢?
请注意,myAlias.field(myField)
将产生null
,因为该字段不是此表定义的一部分。
您无法从普通SQL表中访问字段,因为jOOQ对这些字段一无所知。您必须为每个别名构建单独的字段引用,例如:。
Field<?> myAliasedField = field(name("a", "my_field"), String.class);
问题内容: 在理解查询别名在Postgresql中的工作方式时有些麻烦。我有以下几点: 我可以使用as命令重命名“ count1”列,但似乎无法在查询中再次引用它吗?我试图在此查询的末尾包含一个HAVING命令,以仅查询计数少于最大值的一半的对象。 这是家庭作业,但我不是在寻求答案,而是一个指向如何在另一个子句中包含count1列的指针。 有人可以帮忙吗? 问题答案: 通常,您不能在查询的后面引用
问题内容: 我正在尝试将plpgsql编写为以下形式的函数(请注意,这是简化版本): 失败的部分是生产线。如何基于变量表名称声明类型?还是我需要以某种方式进行投射? 像这样的东西可以正常工作,但是如果我使用像这样的变量名: 问题答案: 重要的是要了解这五种 不同类型的数据/符号 的主要性质: 1。 类型为的字符串文字。在SQL中使用时(是否嵌入在plpgsql代码中),它被强制转换为从 conte
我如何用JOOQ表示以下PostgreSQL语法? Jooq的函数需要类型作为其参数,但是函数返回类型?
问题内容: 我知道我可能需要进行分组才能完成此任务,但我不太了解。PostgreSQL 8.1 我需要将结果集限制为“原始> 2017-01-01”。原始设置在第11行中。它在Excel中作为一列返回,是一个日期。 目前,它返回的结果可以追溯到几年前的数据,而我们并不需要它。 更新:我已将选择内容更改为这样,它似乎正在工作-是否对这样做是否正确有任何想法?它只会一直盯着过去的180天。 问题答案:
问题内容: 我有以下选择查询创建: jOOQ生成以下查询: 查询应为: 后者查询在PostgreSQL中完美地工作。表别名不应用引号引起来。 这是一个错误吗? (请注意,该查询非常愚蠢。我正在使用jOOQ进行评估。) 以下“黑客”作品: 问题答案: 默认情况下,jOOQ会将所有标识符包装在引号中,以便能够正确处理区分大小写的情况。 令人困惑的部分是为什么这么做并不是为了做到而是为了做到。原因是jO
问题内容: 我是python的初学者,并且满足在python脚本中动态声明/创建一些列表的要求。我需要在输入4时创建4个列表对象,例如depth_1,depth_2,depth_3,depth_4。 以便它可以动态创建列表。您能为我提供解决方案吗? 感谢你在期待 问题答案: 您可以使用或进行所需的操作。 为什么不使用清单清单?