[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]
ti ripeto che non conosco la struttare del database. Ragiona pure anche 2 attimi.

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....