Bonjour a tous!
Voila mon problème :
Je souhaite exécuter une requête qui contient 4 test dans la clause WHERE.
Cette requête fonctionne si j'écris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)))
et me sors 4 lignes (normal...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)))
mais si par exemple je test le Champs1 et le Champs2:
J'obtient le même résultat qu'avec la requête précédente...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)))
Je voudrais que la requête test les champs qui sont "initialisé" sans prendre en compte ce qui ne le sont pas!
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
Partager