Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725

    [Mysql] Condizione IF nella select

    Ciao a tutti avrei un problemino, allora ho una tabella dove ci sono quattro date di fine con nomi diversi.

    data_fine_A, data_fine_B, data_fine_C, data_fine_D

    Bene quando non sono settate queste date hanno come valore 0000-00-00

    Ora a me serve selezionare gli elementi dalla cui data maggiore siano passati 70 giorni.

    l'istruzione che funziona è datediff(now(), data_maggiore) > 70

    Ho pensato di fare il confronto per ogni data, quindi

    datediff(now(), data_fiine_A) > 70 and datediff(now(), data_fine_B) > 70 ...ECC...

    Solo che non funziona perchè nel caso la data sia 0000-00-00 mi dice che non sono passati 70 giorni
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  2. #2

    Re: [Mysql] Condizione IF nella select

    Originariamente inviato da Aires

    datediff(now(), data_fiine_A) > 70 and datediff(now(), data_fine_B) > 70 ...ECC...

    Solo che non funziona perchè nel caso la data sia 0000-00-00 mi dice che non sono passati 70 giorni
    Quindi deve prendere quella riga anche se la data è 0000-00-00 giusto?
    (datediff(now(), data_fiine_A) > 70 or data_fine_a='0000-00-00') and (datediff(now(), data_fine_B) > 70 or data_fine_b='0000-00-00') ecc

    Molto maccheronico e sopattutto non testato

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select *
    from tabella
    where datediff(curdate(),greatest(data_fine_a,data_fine_b,data_fine_c,data_fine_d)) > 70

  4. #4
    Originariamente inviato da nicola75ss
    codice:
    select *
    from tabella
    where datediff(curdate(),greatest(data_fine_a,data_fine_b,data_fine_c,data_fine_d)) > 70
    Giusto, ma recupera il record solo se la maggiore tra le date supera di 70 giorni. L'utente invece credo che voglia che tutte le date siano maggiori (ha messo una and...)

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Dascos
    Giusto, ma recupera il record solo se la maggiore tra le date supera di 70 giorni. L'utente invece credo che voglia che tutte le date siano maggiori (ha messo una and...)
    Se la data più recente risale a più di 70 giorni fa, le altre saranno ancora più vecchie.

  6. #6
    Magari sbaglio io,
    ma greatest cerca la maggiore ...

    data 1= oggi
    data 2 = 6 luglio 2011

    la tua query dovrebbe tirare su il record, ma, sempre se ho capito bene, Aires lo vorrebbe recuperato se tutte le date sono maggiori del limite.

    EDIT: Rileggendo sia il post di Aires che la tua query però mi sa che hai ragione tu

  7. #7
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Grazie mille ad entrambi, si greatest è perfetto!
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

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.