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 :

Requête "Au même"


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Requête "Au même"
    Salut a tous, j'explique mon problème :

    J'ai 3 tables

    Adherent : id_adherent et nom_adherent

    Exemplaire : id_exemplaire , id_support et id_film

    Location : id_location, id_adherent , id_exemplaire

    En gros, je souhaiterai faire une requete SQL qui me sort les adhérents ayant au moins une location de Support DVD et une autre de support Cassette pour un meme Film.

    Mais je n'arrive meme pas a faire une requete me sortant les Adherents ayant commandé 2 fois le meme film dans un premier temps.

    Ce serait gentil si vous pourriez m'aider, au moins me mettre sur la bonne voie car j'y arrive pas. Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Montre nous quelles requêtes tu as déjà essayeés.
    Nous t'aiderons alors à les mettre au point.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci de ta réponse, j'ai essayé ca mais ca ne me sort rien du tout



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT Adherent.nom_Adherent
    FROM Adherent
    JOIN Location
    ON Adherent.id_adherent = Location.id_adherent
    JOIN Exemplaire
    ON Exemplaire.id_exemplaire = Location.id_Exemplaire
    JOIN Exemplaire EXE 
    ON Exemplaire.id_exemplaire = EXE.id_exemplaire
    WHERE Exemplaire.id_support = 'DVD'
    AND EXE.id_support = 'CASSETTE'
    AND Exemplaire.id_film=EXE.id_film;

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Tu n'as pas précisé quelles étaient les clés de tes tables, mais je suppose que id_exemplaire est unique pour la table exemplaire.
    Dans ce cas, il faudrait que tu appelles deux fois la table location dans ta requête.
    Je te laisse continuer dans ce sens.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci pour ton aide mais j'ai toujours pas vraiment compris où tu veux en venir par "Appeller Location 2 fois"


    J'ai éssayé de l'appeller une seconde fois dans mon code en la joignant a EXE :
    Mais ca ne marche toujours pas, je sais que je ne suis pas trés loin et qu'il me manque quelquechose mais j'ai du mal a trouver quoi


    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 Adherent.nom_Adherent
    FROM Adherent
    JOIN Location
    ON Adherent.id_adherent = Location.id_adherent
    JOIN Exemplaire
    ON Exemplaire.id_exemplaire = Location.id_Exemplaire
    JOIN Exemplaire EXE 
    ON Exemplaire.id_exemplaire = EXE.id_exemplaire
    JOIN Location LOC
    ON LOC.id_exemplaire = EXE.id_exemplaire
    WHERE Exemplaire.id_support = 'DVD1'
    AND EXE.id_support = 'CASSETTE'
    AND NOT LOC.id_location = Location.id_location;

  6. #6
    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,

    il faudrait la joindre à adhérent (comme la première jointure) et joindre EXE dessus.

    Adhérent
        |_____Location 
                |_____exemplaire (filtre 'DVD1')
        |_____Location 
                |_____exemplaire (filtre 'CASETTE')

Discussions similaires

  1. [PDO] Requête préparée, suppression des quotes
    Par Gouxosor dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 20/02/2014, 00h02
  2. Quote et double quote dans les requêtes paramétrées
    Par michel.souris dans le forum WinDev
    Réponses: 5
    Dernier message: 07/06/2013, 10h27
  3. [Requête/SQL]Pb de "quote" avec un type memo
    Par Tintou dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 26/04/2007, 15h47

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