从另一个表更新列并在单个查询中连接两列

时间:2016-02-14 03:10:27

标签: sql oracle

Oracle DB 在SQL中:

如何从另一个表的列更新表的一列,以及如何在单个查询中连接第一个表的两列

如果table_1的column_1与table_2的column_A匹配,则从table_2的column_B的值更新table_1的column_2,并将table_1的column_3和column_4连接到table_1的column_5。

我试过了:

UPDATE T1
  SET column_2 = T2.column_B,
      column5 = T1.column_3 + T1.column_4
FROM table_1 AS T1
JOIN table_2 AS T2
  ON T2.column_A = T1.column_1

我没有得到它

1 个答案:

答案 0 :(得分:1)

您使用'+'作为字符串连接。 Oracle字符串连接运算符是'||'试试下面的代码

UPDATE (SELECT t1.column_2 column2, 
               t1.column_3 column3,
               t1.column_4 column4,
               t1.column_5 column5,
               t2.column_B columnb
          FROM table_1 t1,
               table_2 t2
         WHERE t1.column_1 = t2.column_A)
   SET column2 = columnb,
       column5 = column3 || column4