3 "AND" avec WHERE ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : 3 "AND" avec WHERE ?

par Cyrano » 26 sept. 2006, 08:06

Ce qu'il faut savoir, et c'est la logique même, c'est que plus tu rajoutes de conditions de tri, plus le résultat sera restreint. Il peut donc arriver que toutes les conditions ne puissent pas être réunies et que la requête ne retourne rien, ce qui ne signifie nullement une erreur.

Tu peux donc avoir des alternatives. Par exemple pour reprendre l'exemple de Truc :

Code : Tout sélectionner

SELECT ... FROM ... WHERE champ1 = "machin" AND (champ2 = "bidule" OR champ2 = "chose")
Notes bien les parenthèses : deux conditions doivent impérativement être vérifiées, mais la deuxième présente elle-même deux possibilités qui sont entre les parenthèses : donc la deuxième condition veut que "champ2" vale soit "bidule" soit "chose", mais pour l'un comme pour l'autre, "champ1" devra de toutes façons valoir "machin"

par Truc » 25 sept. 2006, 23:53

Salut,
Pourquoi dis tu que :
plus d'un AND dans l'instruction SQL après WHERE sont impossible
:-k

C'est tout a fait possible... ce qui n'as pas de sens est de placer plusieurs AND qui portent sur un même champ mais dont le contenu devrait être différent, ex :

Code : Tout sélectionner

SELECT ... FROM ... WHERE champ = "machin" AND champ = "bidule"
puisqu'un champ ne peut contnir à la fois "machin" et "bidue"

3 "AND" avec WHERE ?

par lexarino » 25 sept. 2006, 23:44

Bonjour,

Je suis débutant en SQL...
Je développe un moteur de recherche pas bien compliqué :

3 conditions :
- Catégorie
- Sous catégorie
- Département

Afin de limiter le nombre de résultats j'aurais souhaité pouvoir appliquer ces 3 conditions pour afficher les résultats correspondant...

Or : il me semble que plus d'un AND dans l'instruction SQL après WHERE sont impossible :

"SELECT * FROM assos WHERE categorie = 'valeur1' AND soucat = 'valeur2' AND departement = 'valeur3' ORDER BY 'departement' ASC"

Comment faire ??!

Merci à vous