2016-02-14 99 views
1

Oracle數據庫 在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 

我沒有得到它

+0

請告訴我「+‘’什麼?你用+串聯,它的工作原理? – upagna

+0

https://community.oracle.com/thread/942011?start=0&tstart=0 – upagna

+0

如果你需要使用適用於你正在使用的數據庫引擎的方法,Oracle有關於主題的文檔 –

回答

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 
+0

t1 .column_2 ** column2 **爲什麼使用column2?這是什麼意思? – user5705451

+0

@ user5705451只給了一個別名.. – Sachu

相關問題