Test sélectif dans clause WHERE
Bonjour a tous!
Voila mon problème :
Je souhaite exécuter une requête qui contient 4 test dans la clause WHERE.
Code:
1 2 3 4 5 6 7 8
|
Exemple :
SELECT *
FROM MaTable
WHERE MaTable.champs1 LIKE ''
OR (((MaTable.Date BETWEEN '' AND ''))
OR ((MaTable.Champs2 LIKE '' or MaTable.Champs2 is NULL)
OR (MaTable.Champs3 LIKE '' or MaTable.Champs2 is NULL))) |
Cette requête fonctionne si j'écris :
Code:
1 2 3 4 5 6 7
|
SELECT *
FROM MaTable
WHERE MaTable.champs1 LIKE 'Test'
OR (((MaTable.Date BETWEEN '' AND ''))
OR ((MaTable.Champs2 LIKE '' or MaTable.Champs2 is NULL)
OR (MaTable.Champs3 LIKE '' or MaTable.Champs2 is NULL))) |
et me sors 4 lignes (normal...)
mais si par exemple je test le Champs1 et le Champs2:
Code:
1 2 3 4 5 6 7
|
SELECT *
FROM MaTable
WHERE MaTable.champs1 LIKE 'Test'
OR (((MaTable.Date BETWEEN '' AND ''))
OR ((MaTable.Champs2 LIKE 'Toto' or MaTable.Champs2 is NULL)
OR (MaTable.Champs3 LIKE '' or MaTable.Champs2 is NULL))) |
J'obtient le même résultat qu'avec la requête précédente... :(
Je voudrais que la requête test les champs qui sont "initialisé" sans prendre en compte ce qui ne le sont pas! :roll::roll::roll:
J'ai mis un OR mais je pense que le mieux serait un OU bit a bit mais je ne sais pas comment faire :?
Bon je suis désolé pour ces explications un peu bancales, mais je voit pas trop comment le dire lol
Merci pour vos réponse!
SaiBot