PDA

View Full Version : SQL UPDATE : come collegare 2 tabelle


dani&l
20-12-2002, 11:38
Database Oracle.
Per un problema, ho 2 tabelle e devo aggiornare i valori di una tabella con quelli presenti nell'altra. Solo che non riesco a fare il comando Sql appropriato! Io ho:

tabella ANAGRAFICO (codice, desc)
Tabella TEMP (cod,desc2)

Nella tabella TEMP ci sono con stessi codici descrizioni diverse, x riaggiornarle, cosa devo fare ??

Ho provato

- UPDATE TEMP SET desc2=ANAGRAFICO.desc WHERE cod=ANAGRAFICO.codice

- UPDATE TEMP, ANAGRAFICO SET desc2=desc WHERE cod=codice

Ma in entrambi mi dà errore di sintassi. (nel primo non mi riconosce la seconda tabella, nel secondo si aspetta il comando SET dopo la prima tabella)

HELP.
:muro:

cionci
20-12-2002, 12:01
Con quale database ?

Kleidemos
20-12-2002, 12:13
Originally posted by "dani&l"

Database Oracle.
Per un problema, ho 2 tabelle e devo aggiornare i valori di una tabella con quelli presenti nell'altra. Solo che non riesco a fare il comando Sql appropriato! Io ho:

tabella ANAGRAFICO (codice, desc)
Tabella TEMP (cod,desc2)

Nella tabella TEMP ci sono con stessi codici descrizioni diverse, x riaggiornarle, cosa devo fare ??

Ho provato

- UPDATE TEMP SET desc2=ANAGRAFICO.desc WHERE cod=ANAGRAFICO.codice

- UPDATE TEMP, ANAGRAFICO SET desc2=desc WHERE cod=codice

Ma in entrambi mi dà errore di sintassi. (nel primo non mi riconosce la seconda tabella, nel secondo si aspetta il comando SET dopo la prima tabella)

HELP.
:muro:

Dovresti provare una INNER JOIN :sofico:

dani&l
20-12-2002, 13:05
Originally posted by "cionci"

Con quale database ?

Oracle (l'avevo scritto ;) ).

Ma dove la inserisco l' INNER JOIN ??

kingv
20-12-2002, 13:26
UPDATE TEMP SET DESC2 = (SELECT DESC FROM ANAGRAFICO WHERE ANAGRAFICO.CODICE = TEMP.COD )


l'ho provato su db2 ma dovrebbe funzionare anche su oracle (non ne ho a portata di telnet :mad: )

se non funziona dimmelo ;)

dani&l
20-12-2002, 13:29
Originally posted by "kingv"

UPDATE TEMP SET DESC2 = (SELECT DESC FROM ANAGRAFICO WHERE ANAGRAFICO.CODICE = TEMP.COD )


l'ho provato su db2 ma dovrebbe funzionare anche su oracle (non ne ho a portata di telnet :mad: )

se non funziona dimmelo ;)

Grazie Kingv, stavo appena x postare che ho trovato la soluzione ma tu mi hai preceduto ! E' proprio come dici tu, ho fatto la stessa identica query ed ha funzionato.

Grazie lo stesso a tutti.

:)

cionci
20-12-2002, 14:32
Originally posted by "dani&l"

Con quale database ?

Oracle (l'avevo scritto ;) ).
Ops :D