Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    update su tabella con where in altre..

    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

  2. #2

    Re: update su tabella con where in altre..

    [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]
    mmmm... dovresti avere una relazione tra tab_a e tab_b altrimenti quale record aggiorna nella tab_a ? Qualcosa del genere:

    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.

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    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

  4. #4
    [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]
    ciao...

    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.

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    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

  6. #6
    [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....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    ah capito.. grazie
    Voglio l'alt+s anche per FF

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.