我问了一个问题,得到了答复,这很有帮助。
UPDATE TABLE_A a JOIN TABLE_B b
ON a.join_col = b.join_col AND a.column_a = b.column_b
SET a.column_c = a.column_c + 1
现在,如果有3张表涉及这样的事情,我正在寻找这样做。
UPDATE tableC c JOIN tableB b JOIN tableA a
我的问题基本上是…这可以在一个UPDATE
语句上进行3个表联接吗?正确的语法是什么?谢谢。我会做…
JOIN tableB, tableA
JOIN tableB JOIN tableA
答案是yes
你可以
这样尝试
UPDATE TABLE_A a
JOIN TABLE_B b ON a.join_col = b.join_col AND a.column_a = b.column_b
JOIN TABLE_C c ON [condition]
SET a.column_c = a.column_c + 1
编辑:
对于常规更新,请加入:
UPDATE TABLEA a
JOIN TABLEB b ON a.join_colA = b.join_colB
SET a.columnToUpdate = [something]
问题内容: 如何在SQL Server 2005中回滚UPDATE查询? 我需要在SQL中执行此操作,而不是通过代码。 问题答案: 如果您已经执行了查询并想回滚它,那么不幸的是,唯一的选择就是还原数据库备份。如果您使用的是完全备份,则应该能够将数据库还原到特定的时间点。
现在,如果有3个表涉及这样的东西,我希望这样做。 我的问题基本上是...是否可以在语句上执行3个表联接?正确的语法是什么?谢谢你。我做...
问题内容: 在SQL Server Management Studio中,我做了下面的查询。 不幸的是,我忘了取消注释该条款。 1647行已更新,而不是4行。 如何撤消上一条语句? 不幸的是,我只完成了对这1647行的翻译,并做了最后的更正 ,因此没有备份 。 有一个交易协议,至少我希望如此。 问题答案: 可以通过发出以下命令来还原未提交的事务 但是,如果您在自动提交模式下运行,则无能为力。
问题内容: 我有以下查询: 目前,此查询大约需要93分钟才能完成。我想找到使它更快一点的方法。 该表大约有506,000行,其中大约490,000行包含的值,因此我怀疑我是否可以利用此处的任何索引。 该表(未压缩时)中包含约46 gigs的数据,但是该数据的大部分位于名为的文本字段中。我相信简单地加载和卸载许多页面会导致速度下降。一个想法是做一个新表 只是 在和现场,并保持尽可能小。但是,测试该理
我有表my_employees,my_departments,my_empdetails,my_periods 和下面的查询在Oracle的旧join语句中。我想用mysql语法转换它,但我无法实现。请帮助
问题内容: 这是SQL中的JOIN问题更新语句的扩展,但是我试图使用Spring Data JPQL。 我正在尝试将更新与JPQL中的JOIN一起使用,如下所示 但是,我得到如下错误 org.hibernate.hql.internal.ast.QuerySyntaxException:期望“设置”,找到“ JOIN” JPQL中无法进行UPDATE和JOIN吗?有什么选择。谢谢 问题答案: 该J