Requête SQL simple et pourtant

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.

13 réponses

  • Votes
  • Date
  • Date décroissante
  1. 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.
    1. 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.
      1. Bonjour,
        je rejoins francis, ca requête a l'air d'etre bonne... que veux tu exactement ?
        1. 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.
          1. 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...
            1. 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.
              1. 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...
                1. select nom_produit
                  from vente
                  where annee_vente < 2007
                  and annee > 2010;

                  Mais pas sur.
                  1. 0 résultat.
                  2. ca doit pourtant etre quelque chose comme ca. Les produits, clients et date de vente appartiennent à la meme entité ?
                  3. Et surtout, comment on peut le faire sans clé primaire ? :(
                2. 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).