当前位置: 首页 > 面试题库 >

使用联接更新Informix表

燕智
2023-03-14
问题内容

这是Informix更新的正确语法吗?

update table1
set table1.code = 100
from table1 a, table2 b, table3 c
where a.key = c.key
a.no = b.no
a.key = c.key
a.code = 10
b.tor = 'THE'
a.group = 4183
a.no in ('1111','1331','1345')

我收到通用-201“发生语法错误”消息,但看不到出了什么问题。


问题答案:

您的语法错误是table1.code

set table1.code = 100

改成

set a.code = 100

完整的代码

update table1
set a.code = 100
from table1 a, table2 b, table3 c
where a.key = c.key
and a.no = b.no
and a.key = c.key
and a.code = 10
and b.tor = 'THE'
and a.group = 4183
and a.no in ('1111','1331','1345')


 类似资料:
  • 问题内容: 我正在尝试使用ht的数据更新表tr。两者都有几乎相同的列。因此,为了进行测试,我运行了此查询。 给出129行检查没问题,然后我将更新查询运行为-> 查询成功返回:受影响的行数为4134 有人可以指导我哪里出了问题以及如何解决。 问题答案: 在Postgres中,这有点复杂。但是,我质疑你的逻辑。似乎a是不正确的,因为您正在检查第一个表不是。因此,这 似乎 可以捕获您的逻辑: 该子句是偶

  • 问题内容: 我有两个表,我想通过加入它们进行更新。我正在使用DB2 V9.7。 ORDER_APPROVALS ORDER_ATTRIBUTE 我想针对Attribute_ID 123更新值字段。到目前为止,我尝试了以下查询。但这是行不通的。我曾尝试过在Netezza中进行类似的加入,但这种方法行之有效。想知道,如何在DB2中做到这一点? 问题答案: 您正在寻找以下语句:

  • 问题内容: 我想在具有多个联接的语句中更新表。虽然我知道联接的顺序并不重要(除非您使用的是优化程序提示),但我还是以某种最直观的方式对它们进行了排序。但是,这导致我要更新的表不是我开始使用的表,并且我无法更新它。 我想做的一个虚拟例子是: 这里有许多关于使用联接进行更新的帖子,但是它们总是首先更新表。我知道这在SQL Server中是可能的,希望在MySQL中也可能! 问题答案: MySQL中的多

  • 问题内容: 我必须更新一个值,该值由3个表的联接返回。 例子: 我想用其他在上述条件下加入的值来更新表的字段值。 如何在MS SQL Server中执行此操作? 问题答案: 为了清楚起见…该子句可以引用该子句中指定的表别名。所以在这种情况下是有效的 通用示例

  • 问题内容: 表架构 表名: 行:,, 我的查询模拟将一个文件夹移动到另一个文件夹,并使用IN(?)接受一个数组。 如果不存在具有相同parentId和名称的文件夹,我希望更新仅“移动”文件夹。您在任何普通文件系统下期望的行为。 因此,例如: 将会是一个查询,不检查任何有关parentId和名称的信息…但是如何使左联接起作用。 这是我尝试过的..完全不起作用。 问题答案: 所以,你要只有当目标父文件

  • 本文向大家介绍Microsoft SQL Server 在更新中使用联接,包括了Microsoft SQL Server 在更新中使用联接的使用技巧和注意事项,需要的朋友参考一下 示例 连接还可以在UPDATE语句中使用: SomeSetting通过Preferences表上的谓词更新表过滤的列,Users如下所示: p是在语句Preferences的FROM子句中定义的别名。仅具有匹配的行Acc