Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    MAX() + ADD_DATE - per update su Mysql

    Ciao a tutti,

    sto cercando di fare un update di un campo mysql sommando il massimo valore di altri campi della stessa tabella.

    Un esempio di tabella:

    id data_inizio attivita_1 attivita_2 attivita_3
    1 0000-00-00 10 5 12


    Praticamente la query che ho al momento (e che non funziona) è la seguente:

    $today="2022-07-20"; //è un dato dinamico creato con date()

    UPDATE nome_tabella SET data_inizio = DATE_ADD('2022-07-20',(INTERVAL (SELECT GREATEST(attivita_1,attivita_2,attivita_3) FROM nome_tabella WHERE id ='1') MONTH) WHERE id ='1'

    Praticamente il sistema mi dovrebbe fare un update su data_inizio con 2022-07-20 + 12 mesi...

    Le sto provando tutte, ma nada.

    Per caso, qualcuno più pratico di me riesce a guidarmi verso una soluzione?

    Grazie mille

  2. #2
    1. ricevi qualche errore?
    2. potresti provare con una IPDATE...JOIN

  3. #3
    Quote Originariamente inviata da optime Visualizza il messaggio
    1. ricevi qualche errore?
    2. potresti provare con una IPDATE...JOIN
    Risolto così:

    UPDATE nome_tabella JOIN ( SELECT id, GREATEST(attivita_1,attivita_2,attivita_3) interval_for_update FROM nome_tabella ) value_for_update USING (id) SET data_inizio = '2022-07-20' + INTERVAL interval_for_update MONTH -- WHERE id = 1

  4. #4

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 © 2025 vBulletin Solutions, Inc. All rights reserved.