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 :

Comment recuperer mes valeurs - jointure ?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Par défaut Comment recuperer mes valeurs - jointure ?
    Bonjour,

    Je rencontre un pti probleme..Mais vu que je suis assez noouveau dans le sql je ne comprends pas bien.

    Table 1 Table 2
    A|B|C FK_A |D



    FK_A est la foreign key.
    Et je souhaite récupérer toutes les valeurs de A pour lesquelles j'ai D = 1 et D = 2 et D= 3 ?

    Merci de votre aide par avance..

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT a.*
    FROM table1 a
    INNER JOIN table2 b ON a.A = b.FK_A
    WHERE D BETWEEN(1, 3)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Par défaut
    Salut,
    Tu peux essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT t1.A
    FROM Table1 t1
    INNER JOIN Table2 t2
    ON t1.A = t2.FK_A
    WHERE t2.D IN (1,2,3)
    Ceci étant, si les champs B et C de la table1 ne t'interessent pas, la jointure est inutile.
    Mais j'ai peut être mal interpreté.

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Par défaut
    Merci pour votre aide .... Mais quand j'essaye je recupere tous les enregistrements qui ont 1 ou 1 et 2 ( en tous les cas des qu'il contient l'une de ces valeurs) .. Le truc c'est que je veux récupérer uniquement si D = 1 et D = 2 et D= 3...

  5. #5
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    J'avais mal compris ta demande...
    Pas évident ton truc !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    comme ceci peut etre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT FK_A
    FROM Table2 
    WHERE D IN (1,2,3)
    group by FK_A
    having count(*)=3
    Si ce n'est pas cela, peux tu donner un exemple avec ce que tu veux exactement recupérer.

    Merci

    Michel

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Par défaut
    Pour etre pplus clair ,

    j'ai une table avec les informatons de ma voiture ( table 1) et j'ai les options des voitures dans une table 2 ou pour chaque ligne j'ai un enregistrement pour une option donc je peux avoir dans la table 2 : voiture1|option1 , voiture1|option2 ,voiture1|option3,voiture1|option4...

    Je veux pouvoir rechercher toiutes les voitures qui ont au moins les option1, option2 ,option3 par exemple ....

    Merci de votre aide...Je vais essayer la requete montre juste en haut...

  8. #8
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    dans ce cas, cela doit donner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT t1.A,t1.B,t1.C
    FROM Table1 t1
    INNER JOIN Table2 t2
    ON t1.A = t2.FK_A
    WHERE t2.D IN (1,2,3)
    group by t1.A,t1.B,t1.C
    having count(*)=3

Discussions similaires

  1. [C#][Débutant] Comment récuperer une valeur d'une requete sql
    Par Cazaux-Moutou-Philippe dans le forum Accès aux données
    Réponses: 2
    Dernier message: 12/05/2006, 02h45
  2. Réponses: 4
    Dernier message: 10/01/2006, 11h22
  3. Comment recuperer un valeur envoyé dans une URL
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/12/2005, 12h28
  4. Réponses: 5
    Dernier message: 17/06/2005, 17h17
  5. comment recuperer deux valeurs de deux champs input
    Par trialrofr dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/02/2005, 23h08

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