【问题标题】:How to Update on table with another table [duplicate]如何用另一个表更新表[重复]
【发布时间】:2015-12-18 15:10:42
【问题描述】:

我有两个表 table_A 和 Table_B

表_A

ID    Col1    Col2   Col3
123    2      A      JIM
456    2      A      JACK

表_B

ID    Col1    Col2   Col3
123    1       B      KIM
456    1       B      LEE

查询使用:

Update Table_A a, Table_B b
Set  a.Col1 = b.Col1,
     a.Col2 = b.Col2,
     a.Col3 = b.Col3
where a.ID = b.ID

当前结果: 报错

要求的结果:

我想用表 2 的值更新表 1 的值。

【问题讨论】:

  • 您已将此标记为 Oracle 和 MySQL。您实际使用的是哪个数据库?
  • 对不起 Oracle 数据库

标签: sql oracle


【解决方案1】:

尝试改用这个:

Update
(
    Select  a.Col1, a.Col2, a.Col3,
            b.Col1 As New_Col1, 
            b.Col2 As New_Col2, 
            b.Col3 As New_Col3
    From    Table_A     a
    Join    Table_B     b   On  a.ID = b.ID
) ToUpdate
Set ToUpdate.Col1 = ToUpdate.New_Col1,
    ToUpdate.Col2 = ToUpdate.New_Col2,
    ToUpdate.Col3 = ToUpdate.New_Col3

参考:Update statement with inner join on Oracle

【讨论】:

  • 不工作....出现以下错误 ORA-00933: SQL 命令未正确结束
  • @Qasim0787 更新查询
  • 感谢完美工作正常
猜你喜欢
  • 1970-01-01
  • 2017-02-02
  • 2011-08-06
  • 2014-02-18
  • 1970-01-01
  • 1970-01-01
  • 2014-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多