Problème avec requête

Problème avec requête - SQL/NoSQL - Programmation

Marsh Posté le 06-08-2008 à 17:47:12    

Bonjour,
 
Dans ma requête, je veux avoir tous ceux qui ont le statut et la date et qui sont soit retraité ou permanent. Les résultats obtenus ne sont pas bon.
 
ora_parse($cur,"SELECT * FROM FON_PHP_STATUT_VUE where PERSONNE='$statut' and FIN_AN_STATUT='1858-11-17' and REM_STATUT='Retraité' or REM_STATUT='PERMANENT' ",$x) or die(Ora_Error($conn));
 
 
Est-ce qu'on doit écrire la requête de cette façon ?
 
Merci!

Reply

Marsh Posté le 06-08-2008 à 17:47:12   

Reply

Marsh Posté le 06-08-2008 à 18:01:11    

il faut toujours des   (  ) autour d'une clause OR, où ça fait n'importe quoi.
 
révise ton algèbre booléen ;)

Reply

Marsh Posté le 19-08-2008 à 16:36:18    

Ce que MAgicBuzz veut dire me semble-t-il, c'est que quand tu fais des AND et des OR comme ça à la chaîne, il y a une priorité d'exécution qui n'est pas nécessairement celle que tu veux.
 
Donc comme il le dit, vois exactement ce que tu veux et mets des parenthèses genre :  
X AND (Y OR Z)
(X and Y) OR Z  
etc.


Message édité par ZeBix le 19-08-2008 à 16:36:31
Reply

Marsh Posté le 19-08-2008 à 18:39:59    

Merci, c'est exactement ce que j'ai fait et tout fonctionne très bien!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed