Bonjour,
Voila j'ai une requête qui, pour effectuer un filtrage, effectue une sous requête dans la clause WHERE.
Cette sous-requête est construite comme ceci pour l'instant (mais qui ne fait pas encore ce que je souhaite) :
Explication :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT id FROM ma_table WHERE champ_1 LIKE NVL(CONCAT(CONCAT('var1', '/'), 'var2'), 'tout') AND champ_2 = NVL('var3', 'tout');
le champ_1 est en fait une concaténation de deux valeurs, d'ou la première condition.
var1 var2 et var3 sont des valeurs récupérées de php
tout est ce que je voudrais récupérer.
En gros, je voudrais que si les concat de la première condition ne vaut rien, le NVL me retourne toutes les valeurs que le champ contient (idem pour le champ_2)
J'ai déjà essayé de remplacer le 'tout' par % (on m'avait dit que ça pourrait être ça) et par * mais aucun des deux ne marche.
Peut-être que ce n'est pas la fonction qu'il me faut je ne sais pas.
J'avais également pensé ) faire une sous requête qui renverrait tous les résultats à la place du 'tout' mais si je pouvais éviter (si il n'y a que cette solution la ce n'est pas grave)
Merci d'avance pour votre aide !
Partager