2011-12-05 12 views
6

Ho una tabella che ha due colonne e ho bisogno di concatenare questi due e aggiornare la prima colonna con il risultato.
Per esempio si presuppone che questo è il mio tavolo:Concat colonne di due tabelle e aggiornare uno con risultato

+----+-------+-------+ 
| id | col1 | col2 | 
+----+-------+-------+ 
| 1 | text1 | text2 | 
+----+-------+-------+ 
| 2 | text3 | text4 | 
+----+-------+-------+ 

dopo la concatenazione mio tavolo dovrebbe essere:

+----+-------------+-------+ 
| id | col1  | col2 | 
+----+-------------+-------+ 
| 1 | text1.text2 | text2 | 
+----+-------------+-------+ 
| 2 | text3.text4 | text4 | 
+----+-------------+-------+ 

Come posso fare questo utilizzando SQL?

risposta

13

Prova questa (per MySQL)

UPDATE your_table 
SET col1 = CONCAT_WS('.', col1, col2) 

e questo per MS-SQL

UPDATE your_table 
SET col1 =col1 || "." || col2 
3

Compiti?

I asume mysql:

update table t 
set col1 = concat(col1, '.', col2) 
+0

No, non è un lavoro! Ho creato la mia tabella e dopo aver inserito molti dati ho capito che due colonne dovrebbero essere memorizzate insieme. Grazie – RYN

+1

Anche se si tratta di compiti a casa ... questo è ciò che uno sviluppatore fa comunque ... il 30% di tempo su Google, il 30% su SO, il 30% di implementazione, il 10% risponde ai commenti sul motivo per cui non è compito. – Armstrongest

+3

@Armstrongest, ti manca il 5% di bere caffè. Siamo in contatto. Grazie del tuo commento. – danihp

2

con MS SQL Server 2014 ho usato in questo modo

UPDATE CANDIDATES 
SET NEW_ADDRESS_EN = CANDI_HOME_NO + ', ' + 
CANDI_VILLAGE + ', ' + CANDI_ROAD + ' Road, ' + CANDI_PROVINCE 
Problemi correlati