带联接的SQL更新 [英] SQL update with joins

查看:76
本文介绍了带联接的SQL更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有当前从 table2.oldData 填充的数据 table1.fieldToChange ...,但我想对其进行更新并将其更改为 table2. newData

I have data table1.fieldToChange that is currently populated from table2.oldData... but I would like to update this and change it to table2.newData

这是我用来尝试实现此目标的代码:

Here's the code I am using to try and achieve this:

UPDATE table1
SET table1.fieldToChange =
  (SELECT table2.newData
  FROM table2
  WHERE table2.oldData = table1.newData
  ) ;

但是我收到"ORA-01427"错误.

But I get an 'ORA-01427' error.

table2.newData table2.oldData 都是唯一的标识符,在数据库中仅使用一次.任何帮助将不胜感激!

Both table2.newData and table2.oldData are unique identifiers and only used once in the database. Any help would be much appreciated!

谢谢

推荐答案

您不是故意的吗?

UPDATE table1
SET fieldToChange =
  (SELECT table2.newData
  FROM table2
  WHERE table2.oldData = table1.fieldToChange     ---- and NOT table1.newData ?
  ) ;

这篇关于带联接的SQL更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆