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 :

Exercice SQL prix


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 80
    Points : 46
    Points
    46
    Par défaut Exercice SQL prix
    Bonjour à tous,

    j'ai un petit exercice en sql où je penses que ma requête n'est pas top, si vous pouvez-me confirmer ou éventuellement me corriger svp, merci.




    donc j'ai 3 tables :

    1) Table Fournisseur:
    id: id du fournisseur, clé primaire
    nom: nom du fournisseur

    2)Table Achat
    id : id de l 'achat
    date : date de l'achat
    quantite : quantite achete
    fournisseur : id du fournisseur, cle etrangere vers fournisseur.id
    produit : id du produit acheté, clé étrangere ver produit.id


    3)Table produit
    id : id du produit, clé primaire
    libelle : description du produit
    prixVente : prix de vente du produit


    la question est :

    Donner les id des produits qui ont été achetés chez des fournisseurs différents.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select id
    from produit
    JOIN achat on 
    join fournisseur on 
    group by fournisseur.id,produit.id
    having (count(*) > 2))

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Je vois deux problèmes dans la requête:
    1. Il n'y a pas de critère de jointure (après le ON)
    2. Un produit acheté plusieurs fois chez un fournisseur sera renvoyé par la requête


    Je partirai plutôt sur 2 jointures ente PRODUIT et ACHAT (via des alias), en vérifiant que les Id fournisseur sont différents.

    Tatayo.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 80
    Points : 46
    Points
    46
    Par défaut
    merci de ta réponse, je pense avoir trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select id, libelle
    from produit 
    join achat a1 on id  = produit
    Join achat a2 on (a1.fournisseur != a2.fournisseur and a1.produit = a2.produit)

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    je pense que ceci devrait suffire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT produit_id
    FROM ACHAT
    GROUP BY produit_id
    HAVING COUNT(DISTINCT fournisseur_id) > 1

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

Discussions similaires

  1. [Exercices SQL] Patient, médicament, allergies, etc
    Par D3V1L J4M dans le forum Langage SQL
    Réponses: 9
    Dernier message: 07/04/2018, 11h03
  2. Exercice SQL sous Oracle
    Par IDE dans le forum Langage SQL
    Réponses: 4
    Dernier message: 03/12/2007, 22h41
  3. [Exercices SQL] requêtes
    Par titecherie02 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 21/02/2006, 13h53
  4. des exercices SQL SERVER7 SVP..
    Par jeune85 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/01/2006, 16h15
  5. problemes exercices sql
    Par siciliano_messinese dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/09/2005, 16h52

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