我正在使用一个框架(Jodd),该框架将表别名添加到SQL Select的列名称中。它看起来像格式正确的SQL,但Postgres对此感到窒息。
update GREETING Greeting
set Greeting.ID=5,
Greeting.NAME='World',
Greeting.PHRASE='Hello World!'
where (Greeting.ID=5)
给出一个错误:
Error: ERROR: column "greeting" of relation "greeting" does not exist
SQLState: 42703
有没有办法让Postgres接受该SQL?我的另一种选择是破解框架,我不想这么做。
问题是您SET
在列中的子句中包含了表别名。请参阅UPDATE
Postgres
docs中的文档
:
column
中的列名称
table
。如果需要,可以使用子字段名称或数组下标来限定列名称。请勿在目标列的规范中包含表名-例如,UPDATE tab SET tab.col = 1
无效。
这在Postgres中有效:
update GREETING Greeting
set
NAME='World',
PHRASE='Hello World!'
where Greeting.ID=5 ;
问题内容: 如何获得结果集中各列的标签,以便在表的名称前加上名称? 我希望对单个表以及联接进行查询。 例子: 我希望结果是: 我可以使用“ AS”为每列定义一个别名,但这会很乏味。我希望这是自动发生的。 我提出这个问题的原因是,我使用的数据库驱动程序不提供元数据,该数据通知我从结果集获取其数据的数据库列。我正在尝试编写通用代码来处理结果集。 我想知道一般如何在SQL中执行此操作,或者至少在Post
我已经将完全相同的数据库表从MYSQL移到SQLite。以下查询在MYSQL中工作 但在SQLITE中,我得到一个“Error near'”。语法错误。使用cast到c的表别名,查询工作良好: Sqlite不喜欢查询的第一个版本的原因是什么?
我在Postgres的自制安装中遇到了一个常见的Mac OSX错误, 这显然是由于系统上有多个安装。然而,通常的步骤并没有解决问题。 我可以成功启动Postgres并跑步: 返回。。 所以看起来postgres正在运行。 我在postgresql.conf评论了以下几行 在var/pgsql_socket/I中有一个隐藏文件。s、 PGSQL。5432 我在这里尝试了很多解决方案。这个看起来特别相
问题内容: 之间有什么区别 相对 从技术角度来看。不知道这是否只是SQL Server特定的。 感谢您的回答。 问题答案: 我更喜欢第一个,因为第二个不是便携式的- 是语法错误(至少在SQLite和Oracle中),或者可能无法满足您的期望(比较两列EmployeeName和empName并将比较结果返回为布尔值/整数),而 是相同的 这是我的首选变体。
问题内容: 我希望能够根据列表中包含的对象类型为根列表元素添加别名。例如,这是我当前的输出: 这就是我想要的样子: 我可以在全球范围内做到这一点,方法是说所有列表都应以硬币为别名,但是我有很多不同的列表,这是行不通的。有关如何执行此操作的任何想法?似乎它应该很简单,但事实并非如此。 编辑:我应该指定,我正在尝试将对象序列化为xml。我正在使用Spring 3 MVC作为我的Web框架。 问题答案:
问题内容: 我使用NLTK从文本中提取命名实体: 但是我不知道如何将这些实体保存到列表中?例如– 谢谢。 问题答案: 返回嵌套对象,因此您必须遍历该对象才能到达网元。 看看带有正则表达式的命名实体识别:NLTK