Per esigenze di lavoro è inevitabile l'uso degli alias MySQL, a volte oltre agli alias nasce la necessità di utilizzare l'alias appena creato nella clausa where, cosa di per sè NON possibile per come è strutturato MySQL, oggi vi mostrerò come ovviare a questo problema in modo rapido e semplice.
Prendiamo ad esempio una query semplice che fa uso degli alias:
select date_format(data_ins, '%d-%m') as data_ev from news where calendario = 1 order by data_ev
estraggo cioè solo il giorno e il mese da una tabella dove il campo calendario è uguale a 1 e ordino tutto per l'alias. Volendo ora estrarre soltanto i dati di un determinato giorno/mese, verrebbe da pensare, aggiungo un and alla clausola where con data_ev = 'giorno-mese', a questo punto però avrete un errore MySQL.
Per ovviare a questo incoveniente ci viene in aiuto l'istruzione HAVING, da far seguire subito dopo il WHERE, la nostra query quindi diventerebbe:
select date_format(data_ins, '%d-%m') as data_ev from news where calendario = 1 having data_ev = '04-09' order by data_ev
così facendo abbiamo creato un alias con giorno e mese e tramite l'HAVING ho ristretto il campo di ricerca senza problemi
Alla prossima.
ATTENZIONE: il tuo commento verrà prima moderato e se ritenuto idoneo sarà pubblicato
© 2007-2025 - ATTIVA WEB - Internet agency - P. iva 02645880739
Realizzazione siti internet Martina Franca, ecommerce Martina Franca
Via Giacomo Puccini 23 - 74015 Martina Franca (TA) - Privacy & Cookie Law