Hello,
Pour utiliser ce genre de requête avec MySql, il faut utiliser la fonction CONCAT, ou encore mieux, WS_CONCAT car MySql n'utilise pas || comme opérateur de concaténation.
Un petit exemple (qui marche !!!) :
SELECT * FROM personne, entreprise WHERE personne.entr_id = entreprise.entr_id AND CONCAT_WS( '~', COALESCE( `entr_nom` , '' ), COALESCE( `entr_tel` , '' ), COALESCE( `entr_fax` , '' ), COALESCE( `entr_email` , '' ), COALESCE( `pers_nom` , '' ), COALESCE( `pers_prenom` , '' )) LIKE '%toto%'
J'ai mis du temps à trouver. Un grand merci à tous pour le coup de la concaténation dans une clause WHERE car je ne connaissais pas ça.
Petite question subsidiaire : comment ne pas tenir compte de la casse dans ma recherche ? (dois-je changer le paramétrage de ma base ?)
Partager