Je suppose que les colonnes titre1 à titre3 peuvent être indéfinies (= NULL) donc j'utiliserais les fonctions : _coalesce(valeur1, ..., valeurN) qui renvoie la 1° valeur non NULL et à défaut NULL _concat(chaine1, ..., chaineN) qui concatène plusieurs chaines
Et j'écrirais :
SELECT * FROM ma_table ORDER BY concat(coalesce(titre1, ''), coalesce(titre2, ''), coalesce(titre3, ''))
A adapter en fonction des besoins, consultez la doc de Mysql pour en savoir plus... ;-) -- Philippe.
Anthony a écrit :
Si quelqu'un peut m'aider sur ce point (sachant que je ne peux pas
toucher la structure de la base mysql).
j'ai une table avec des champs de type varchar : titre1, titre2, titre3
Je voudrais que dans mon select l'ordre s'affiche comme tel :
ORDER BY titre1,titre2,titre3 (mais sans tenir compte des champs vides )
Je suppose que les colonnes titre1 à titre3 peuvent être indéfinies (=
NULL) donc j'utiliserais les fonctions :
_coalesce(valeur1, ..., valeurN) qui renvoie la 1° valeur non NULL et
à défaut NULL
_concat(chaine1, ..., chaineN) qui concatène plusieurs chaines
Et j'écrirais :
SELECT
*
FROM
ma_table
ORDER BY
concat(coalesce(titre1, ''),
coalesce(titre2, ''),
coalesce(titre3, ''))
A adapter en fonction des besoins, consultez la doc de Mysql pour en
savoir plus... ;-)
--
Philippe.
Je suppose que les colonnes titre1 à titre3 peuvent être indéfinies (= NULL) donc j'utiliserais les fonctions : _coalesce(valeur1, ..., valeurN) qui renvoie la 1° valeur non NULL et à défaut NULL _concat(chaine1, ..., chaineN) qui concatène plusieurs chaines
Et j'écrirais :
SELECT * FROM ma_table ORDER BY concat(coalesce(titre1, ''), coalesce(titre2, ''), coalesce(titre3, ''))
A adapter en fonction des besoins, consultez la doc de Mysql pour en savoir plus... ;-) -- Philippe.
Anthony
Le 17/12/2010 17:44, Ph. B. a écrit :
Je suppose que les colonnes titre1 à titre3 peuvent être indéfinies ( > NULL) donc j'utiliserais les fonctions :
malheureusement les concepteurs de la base ont laissé les champs vides ... mais pas NULL
Anthony
Le 17/12/2010 17:44, Ph. B. a écrit :
Je suppose que les colonnes titre1 à titre3 peuvent être indéfinies ( > NULL) donc j'utiliserais les fonctions :
malheureusement les concepteurs de la base ont laissé les champs vides
... mais pas NULL