J'ai cette requêterequête de sélection mysql conditionnelle basée sur la clause where
SELECT column1 FROM Table1 WHERE column1 LIKE CONCAT('%', :regex, '%') OR (column2 IS NOT NULL AND column2 LIKE CONCAT('%', :regex, '%')
qui retourne toujours column1
valeur si un enregistrement de Table1
satisfait clause where. Mais ce que je veux, c'est que la requête renvoie la valeur column1
si la première partie LIKE CONCAT('%', :regex, '%')
de la clause where est satisfaite, column2
la valeur si la deuxième partie (column2 IS NOT NULL AND column2 LIKE CONCAT('%', :regex, '%')
est satisfaite. Comment modifier la requête pour obtenir ce résultat?
Grande, la requête fonctionne comme je voulais. Mais j'ai une autre question par rapport à votre réponse: avec votre requête, la même comparaison est effectuée deux fois, l'une sur select et l'autre sur l'où cluse. Est-il possible d'optimiser la requête avec un seul des deux? – LuckyStarr