Bonjour,

J'utilise une requête SQL sur une base DB2.
J'ai une variable à laquelle est affecté une valeur qui va filtrer le résultat de ma requête.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
&variable = 1;
 
SELECT *
FROM matable
WHERE macolonne = &variable
Je n'arrive pas à créer une condition qui si &variable n'est pas renseigné alors on ne fait pas le WHERE macolonne = &variable.

Existe-il en dernier recours un moyen de tout récupérer. Comme si le filtre n'existait pas ? Par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
&variable = ALL;
 
SELECT *
FROM matable
WHERE macolonne = &variable
J'ai trouvé une solution partielle qui est d'utiliser le LIKE mais c'est pas très optimisé. Mais je récupère bien tout du coup :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
&variable = %;
 
SELECT *
FROM matable
WHERE macolonne LIKE &variable
Merci d'avance