Requête SQL simple et pourtant
mattouuu
Messages postés
143
Statut
Membre
-
holybeer Messages postés 437 Statut Membre -
holybeer Messages postés 437 Statut Membre -
Bonjour,
Pour simplifié mon problème, j'ai une table vente avec 3 champs:
- nom_produit
- nom_client
- annee_vente.
Je souhaiterais récupérer tous les produits qui ont été vendu avant 2007 ET après 2010.
Cela me paraît tout bête et pourtant je n'y arrive pas.
Merci par avance,
Mathieu.
Pour simplifié mon problème, j'ai une table vente avec 3 champs:
- nom_produit
- nom_client
- annee_vente.
Je souhaiterais récupérer tous les produits qui ont été vendu avant 2007 ET après 2010.
Cela me paraît tout bête et pourtant je n'y arrive pas.
Merci par avance,
Mathieu.
13 réponses
-
M'en doutais, puisqu'un même produit ne peut pas être soit vendu en 2007 et en 2010.
donc je pense que ta requête est bonne. Faut remplacer le And par le Or. -
-
Non, avec cette requête, les produits vendus avant 2007 ne sont pas forcément vendus après 2010, et inversement.
Merci quand même. -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
je rejoins francis, ca requête a l'air d'etre bonne... que veux tu exactement ? -
bonjour ,
mais c'est clair cette REQUETTE ,tous les produits qui ont ete vendus avant 2007 et aprés 2010 ce n'est d'autre que :
tu selectiones les produits qui sont vendus entre 2007 et 2010 et tu les sousctrais de tous les produits que tu as dans ta table ca veut dire ====>
select nom_produit from TABLE
where nom_produit not in
( select nom_produit from TABLE where annee_vente between [2007 , 2010] )
dsl je me rappel pas bien de la syntaxe "between" mais c'est le meme principe. -
-
mb362 : il veut les produits vendu avant 2007 et après 2010 pas entre 2007 et 2010 donc le between ne sert pas à grand chose pour cette requête...
-
Melooo : Avec la requète de mb362, on prend tous les produits de la table et on enlève ceux dont la date de vente est supérieure à 2007 et inférieure à 2010. Il nous reste donc les produits vendus avant 2007 et après 2010.
La requète est donc correcte. -
Je ne vois pas où le rédacteur a écrit qu'il voulait les produits qui n'ont pas été vendus entre 2007 et 2010...
-
select nom_produit
from vente
where annee_vente < 2007
and annee > 2010;
Mais pas sur. -
La requete de mb362 est bonne dans l'esprit mais je ne crois pas qu'elle s'applique au cas de mattouuu : il semble vouloir la liste des produits qui ont été vendus avant 2007 et après 2010, pas soit l'un soit l'autre (il faut qu'un meme produit ai été vendu dans ces 2 périodes).
-