IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Est-ce possible en une seule requête ?


Sujet :

Langage SQL

  1. #1
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut Est-ce possible en une seule requête ?
    Bonjour,

    Je vous soumets le problème que je rencontre à écrire une requête.
    Je suis sous Access.

    J'ai trois tables

    PRODUIT => IdProduit
    VENTES => IdProduit, Periode, Valide
    DETAIL => IdProduit, Periode, Quantite
    Je souhaite, pour une période donnée, lister tous les produits, qu'il existe des ventes ou non, et pour les produits pour lesquels il y a des ventes, les quantités si le champ Valide = O.

    Exemple :

    PRODUIT
    A1
    A2
    A3
    VENTES
    A1 201301 O
    A1 201302 O
    A1 201303 N
    A3 201301 N
    A3 201303 O
    DETAIL
    A1 201301 10
    A1 201301 4
    A1 201302 7
    A1 201303 5
    A3 201301 6
    A3 201303 2
    Résultat souhaité pour 201301 :
    A1 201301 O 10
    A1 201301 O 4
    A2 ------ - --
    A3 201301 N --
    C'est jouable en une seule requête ?

    Merci.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 103
    Points : 28 400
    Points
    28 400
    Par défaut
    Est-ce que cela suffirait ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT  prd.idproduit
        ,   vnt.periode
        ,   vnt.valide
        ,   dtl.quantite
    FROM    produit AS prd
        LEFT JOIN
            ventes  AS vnt
            ON  prd.idproduit   = vnt.idproduit
        LEFT JOIN
            detail  AS dtl
            ON  vnt.idproduit   = dtl.idproduit
            AND vnt.periode     = dtl.periode
            AND vnt.valide      = 'O'
    ;

  3. #3
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Je teste demain et je te dis.

    Merci.

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    OK, ça me va.

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Deux requêtes dans une seule requête, est-ce possible ?
    Par Stephane_br dans le forum Développement
    Réponses: 3
    Dernier message: 08/07/2011, 15h35
  2. est ce possible en une seule requete !
    Par cmoi70 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 06/03/2009, 16h30
  3. Réponses: 2
    Dernier message: 31/01/2009, 20h49
  4. Est-ce que c'est possible en une seule requête?
    Par geraldgg dans le forum Requêtes
    Réponses: 11
    Dernier message: 30/12/2008, 18h44
  5. Réponses: 1
    Dernier message: 22/08/2008, 23h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo