Problème requête sql
Fermé
tidus
-
3 mai 2008 à 10:58
papillonetta Messages postés 32 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 2 septembre 2008 - 3 mai 2008 à 19:08
papillonetta Messages postés 32 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 2 septembre 2008 - 3 mai 2008 à 19:08
A voir également:
- Problème requête sql
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Sql server recovery - Télécharger - Gestion de données
- Logiciel sql - Télécharger - Bases de données
- Requête sql doublons sur 2 champs ✓ - Forum Programmation
4 réponses
jee pee
Messages postés
40487
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
28 novembre 2024
9 431
3 mai 2008 à 11:22
3 mai 2008 à 11:22
bonjour,
quand une requête est traitée, l'ordre dans lequel les opérateurs sont pris en compte est important.
si tu exprimes ta condition dans une phrase, toi et moi comprenons bien que il faut chercher une pièce en stock dans l'une des 2 villes
le moteur sql lui réagit différemment, il traite le AND avant le OR donc :
il prend les lignes de la table avec :
- villestock="montpellier" and qtédispo<=20
- puis parmi celles ci celles and Pu>1000;
et puis il va traiter la condition or villestock="nimes" toute seule, donc il rajoute toutes les lignes de nimes, sans prendre en compte les critères qtédispo et pu
alors qu'en utilisant les parenthèses, tu lui dit de commencer par traiter
(villestock="nimes" or villestock="montpellier")
puis sur cette première sélection, il va appliquer les autres restrictions
Donc il faut utiliser les parenthèses pour préciser explicitement l'ordre de prise en compte des opérateurs
cdt
quand une requête est traitée, l'ordre dans lequel les opérateurs sont pris en compte est important.
si tu exprimes ta condition dans une phrase, toi et moi comprenons bien que il faut chercher une pièce en stock dans l'une des 2 villes
le moteur sql lui réagit différemment, il traite le AND avant le OR donc :
il prend les lignes de la table avec :
- villestock="montpellier" and qtédispo<=20
- puis parmi celles ci celles and Pu>1000;
et puis il va traiter la condition or villestock="nimes" toute seule, donc il rajoute toutes les lignes de nimes, sans prendre en compte les critères qtédispo et pu
alors qu'en utilisant les parenthèses, tu lui dit de commencer par traiter
(villestock="nimes" or villestock="montpellier")
puis sur cette première sélection, il va appliquer les autres restrictions
Donc il faut utiliser les parenthèses pour préciser explicitement l'ordre de prise en compte des opérateurs
cdt
gams87
Messages postés
200
Date d'inscription
lundi 4 février 2008
Statut
Membre
Dernière intervention
24 août 2011
72
3 mai 2008 à 11:03
3 mai 2008 à 11:03
je pense tt simplement que c'est parceque ca fait partie de la meme ligne enfin les deux termes entre parenthèse vont ensemble
si tu av mis AND machin...... la il aurait pas fallu de parenthèse
je sais pas si g été très clair la ;-(
si tu av mis AND machin...... la il aurait pas fallu de parenthèse
je sais pas si g été très clair la ;-(
sovi
Messages postés
19
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
13 août 2009
1
3 mai 2008 à 18:11
3 mai 2008 à 18:11
En plus de ce que dit jee pee et gams87 (que j’approuve d'ailleurs ), je te propose de voir les choses comme suit.
On peut penser simplement qu’il s’agit de trouver des objets en stocks dans 2 villes différentes.
Et la requête doit d’abord nous dire de quel stock sagit –il ? (En réalité dans quelle ville de stockage, on veut trouver l’objet ?). Ensuite, il doit préciser la quantité disponible et le prix unitaire de l’objet en stock). Tu conviens donc avec moi que dans cette démarche, le choix de la ville de stockage (villestock="nimes" or villestock="montpellier) constitue en lui-seul un critère « entier » de sélection (à respecter avant tout).
C’est pour cela que gams87 disait « les deux termes entre parenthèse vont ensemble ».
D’aucun dirait qu’il faut bien savoir où sélectionner avant de savoir ce qu’on sélection, sa quantité ou autre propriété (le prix unitaire par exemple) le concernant.
J’espère avoir apporté un plus pour t’aider à comprendre.
Si tu as compris, laisse un mot (ça tranquillise !)
On peut penser simplement qu’il s’agit de trouver des objets en stocks dans 2 villes différentes.
Et la requête doit d’abord nous dire de quel stock sagit –il ? (En réalité dans quelle ville de stockage, on veut trouver l’objet ?). Ensuite, il doit préciser la quantité disponible et le prix unitaire de l’objet en stock). Tu conviens donc avec moi que dans cette démarche, le choix de la ville de stockage (villestock="nimes" or villestock="montpellier) constitue en lui-seul un critère « entier » de sélection (à respecter avant tout).
C’est pour cela que gams87 disait « les deux termes entre parenthèse vont ensemble ».
D’aucun dirait qu’il faut bien savoir où sélectionner avant de savoir ce qu’on sélection, sa quantité ou autre propriété (le prix unitaire par exemple) le concernant.
J’espère avoir apporté un plus pour t’aider à comprendre.
Si tu as compris, laisse un mot (ça tranquillise !)
papillonetta
Messages postés
32
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
2 septembre 2008
3 mai 2008 à 19:08
3 mai 2008 à 19:08
les parenthéses consistent a regrouper les instructions ensemble
parsque ca risque de regrouper l"or" avec le "end"
parsque ca risque de regrouper l"or" avec le "end"