ciao
è possibile settare il campo della tabella A uguale al campo della tabella B se il campo della tabella C è uguale al campo B.x ?
ciao
è possibile settare il campo della tabella A uguale al campo della tabella B se il campo della tabella C è uguale al campo B.x ?
Voglio l'alt+s anche per FF
mmmm... dovresti avere una relazione tra tab_a e tab_b altrimenti quale record aggiorna nella tab_a ? Qualcosa del genere:[supersaibal]Originariamente inviato da dops
ciao
è possibile settare il campo della tabella A uguale al campo della tabella B se il campo della tabella C è uguale al campo B.x ?
[/supersaibal]
UPDATE tab_a a,tab_b b, tab_c c
SET
a.campo = b.campo
WHERE c.campo = b.x
AND a.???? = b.????
Al posto degli ??? metti il campo di relazione tra a e b.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
grazie mille.. non avrò capito bene bene.. macmq ci sono riuscito.. cioè quello che non ho capito è perchè devo controllare anche la seconda relazione..
Voglio l'alt+s anche per FF
ciao...[supersaibal]Originariamente inviato da dops
grazie mille.. non avrò capito bene bene.. macmq ci sono riuscito.. cioè quello che non ho capito è perchè devo controllare anche la seconda relazione.. [/supersaibal]
non conosco la struttura del tuo db... semplicemente ipotizzo che per cambiare un campo di tab_a secondo un criterio di uguaglianza di un campo tra tab_b e tab_c, devo per forza di cose avere una relazione tra tab_a o con tab_b oppure con tab_c
Altrimenti come faccio a sapere "quale" record di tab_a si deve modificare? Ma bisognerebbe conoscere struttura e scopo della modifica, infatti ho solo ipotizzato la necessita' di una relazione.
modifica a scrivendo in un campo il contenuto di un campo di b
dove un campo di c e' uguale ad un campo di b
non ha senso... ci si chiede subito ... ma quale record di a devo modificare? tutti???
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
aspè.. ragioniamo un attimo..
Ho le tabella X Y Z
ora la tabella in cui devo modificare il campo è la tabella X, questo campo però deve essere modificato solo se tra i capi Y.a e Z.a c'è una relazione.. cioè solo se sono uguali..
Il campo X.a deve essere modificato con lo stesso contenuto di Y.a
quindi dovrebbe bastare che tra Y.a e Z.a ci sia una relazione no?
Voglio l'alt+s anche per FF
ti ripeto che non conosco la struttare del database. Ragiona pure anche 2 attimi.[supersaibal]Originariamente inviato da dops
aspè.. ragioniamo un attimo..
Ho le tabella X Y Z
ora la tabella in cui devo modificare il campo è la tabella X, questo campo però deve essere modificato solo se tra i capi Y.a e Z.a c'è una relazione.. cioè solo se sono uguali..
Il campo X.a deve essere modificato con lo stesso contenuto di Y.a
quindi dovrebbe bastare che tra Y.a e Z.a ci sia una relazione no? [/supersaibal]
Se tu hai un solo record in X.a potrebbe essere fattibile. In pratica faresti:
modifica X.a = Y.a se Y.a = Z.a....
ma se hai piu' record??? quale parita' di Y.a-Z.a e' valida per inserire Y.a in X.a?
Per fare l'operazione richiesta mysql utilizza una tabella temporanea. Quindi raccoglie tutti i record come richiede la condizione where, cioe' Y.a = Z.a ... Ma dalla tabella X che record prende???? nessuno...
La logica parlata direbbe allora:
Prendi tutti i record dove Y.a = Z.a e (AND) tutti i record dove X.x = Y(o Z).x , quindi scrivi in X.b quello che trovi in Y.b
that's all....
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
ah capito.. grazie
Voglio l'alt+s anche per FF