Visualizzazione dei risultati da 1 a 4 su 4

Visualizzazione discussione

  1. #1

    [MYSQL] Calcolo giorni passati o futuri per un compleanno

    Ho questa Query che calcola i giorni piu' vicini, passati o futuri per un compleanno.
    Codice PHP:
    $Query1 "SELECT DATE_FORMAT(data_nascita,'%d-%m-%Y') AS nato, 
    DATEDIFF(CURDATE(), DATE_FORMAT(data_nascita + INTERVAL YEAR(CURDATE()) - YEAR(data_nascita) YEAR,'%Y-%m-%d')) as diff 
    FROM sql_agenda 
    WHERE DATEDIFF(CURDATE(), DATE_FORMAT(data_nascita + INTERVAL YEAR(CURDATE()) - YEAR(data_nascita) YEAR,'%Y-%m-%d')) BETWEEN -30 AND 30  
    ORDER BY diff DESC
    "

    Da un controllo visivo sembra funzionare però ci sono un paio di dubbi.

    L'istruzione che mi incuriosisce è questa
    Codice PHP:
    DATE_FORMAT(data_nascita INTERVAL YEAR(CURDATE()) - YEAR(data_nascitaYEAR,'%Y-%m-%d'

    Perchè nella WHERE non posso usare l'alias definito nella SELECT?
    Che cosa fa l'ultimo YEAR presente nella istruzione della SELECT e della WHERE?
    Se tento di toglierlo la Query mi va in errore.

    Visto che questa istruzione non mi è chiara, sarei grato a chi me la spiegherebbe.

    Grazie per l'attenzione.
    Ultima modifica di micdas; 01-04-2014 a 19:18

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.