Usare l'istruzione CASE in MySQL
La mia necessità è questa: in una tabella ho un campo "flag" che assume solo valore 0 o 1, dove 0 sta per NON ATTIVO, e 1 sta per ATTIVO.
Quindi, eseguendo questa query, ottengo questo risultato:
SELECT codice, attivato FROM clienti;
CODICE ATTIVATO
1258 1
1456 1
1328 0
1298 1
2238 0
Io ho bisogno di ottere questo risultato:
SELECT codice, attivato FROM clienti;
CODICE ATTIVATO
1258 attivo
1456 attivo
1328 non attivo
1298 attivo
2238 non attivo
Come fare?
La soluzione mi è arrivata da questo thread del forum HTML.it: usare l'istruzione CASE.
Ecco l'esempio:
SELECT cliente_codice,
CASE cliente_attivato
WHEN 0 THEN 'NON ATTIVO'
WHEN 1 THEN 'ATTIVO'
END
FROM clienti
WHERE cliente_clde = 'CL'
Ve l'ho fatto anche completo di WHERE.
Devo dire che la query risulta più lenta; sarebbe meglio metterla dentro ad una Stored Procedure.
Oppure valutare se è meglio elaborare il valore lato server con linguaggio che state usando.
Enjoy!
database mysql case stored procedure
Commentami!