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 :

jointure hétérogène mysql


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Ingénieur développement logiciel
    Inscrit en
    Septembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciel

    Informations forums :
    Inscription : Septembre 2007
    Messages : 28
    Points : 22
    Points
    22
    Par défaut jointure hétérogène mysql
    Bonjour je cherche à faire qqchose de tres simple en sql, recuperer une liste d'id commune à un resultat de selection sur 2tables.

    Je la refais car j'avoue avoir un peu de mal à me l'exprimer :
    J'ai une base G, contenant des user_id associés entre autres à des user_ville.
    J'ai une base C, contenant des efo_user_id associé à des efo_id

    j'ai donc un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT user_id FROM G.t_user WHERE user_ville="paris"
    et un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT efo_user_id FROM C.t_etape_form WHERE efo_id="42"
    maintenant je voudrai juste recuperer les ID (comme vous l'avez compris efo_id et user_id sont en cummun), qui ressorte des deux.

    soit si la premiere requete sort :
    user_id = {2, 4, 8, 10}

    et la deuxieme :
    efo_user_id = {4, 10, 12, 14}

    et bien je veux pouvoir exploiter le {4, 10} qui leur sont en commun, mais je ne comprend pas du tout comment utiliser ca

    si qqun pouvait me donner juste un indice plz
    (je cherche mais ya un truc que je comprend pas et que je n'arrive pas à expliquer)

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 181
    Points : 189
    Points
    189
    Par défaut
    je ne suis pas sûr que ce soit possible de une seule requête sur des tables de bases différentes, à voir
    sinon pour les jointures allez voir ce cours

  3. #3
    Expert éminent
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Points : 7 291
    Points
    7 291
    Par défaut
    Quel SGBD ?

    Sous Oracle on peut utiliser les databaselink et INTERSECT. Exemple sachant que l'on fait la requête à partir de la base G et qu'il y existe un database link vers la base C:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT user_id FROM t_user WHERE user_ville="paris"
    INTERSECT
    SELECT efo_user_id FROM t_etape_form@dblink_baseC WHERE efo_id="42"

  4. #4
    Membre à l'essai
    Profil pro
    Ingénieur développement logiciel
    Inscrit en
    Septembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciel

    Informations forums :
    Inscription : Septembre 2007
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    merci, mon sgbd est mySQL.
    Je commence par lire la doc de sebdu puis je me renseigne sur le databaselink et l'INTERSECT de phili_b.

    Quelque soit mes avancées je vous tiens au courant afin de résoudre ce probleme et donc ce post

    merci encore

  5. #5
    Membre à l'essai
    Profil pro
    Ingénieur développement logiciel
    Inscrit en
    Septembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciel

    Informations forums :
    Inscription : Septembre 2007
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Tadammm j'ai trouvé!!
    Alors dans le cours ca s'appelle jointure hétérogene. Mais peut importe car je ne l'ai pas utilisé comme cela.
    J'ai simplement, apres avoir compris comment marchait les jointures, fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT DISTINCT user_id FROM C.t_etape_form AS INFORMATICIEN
    			JOIN G.t_user AS UTILISATEURS
    				ON INFORMATICIEN.efo_user_id=UTILISATEURS.user_id
    			WHERE INFORMATICIEN.efo_id="42" AND UTILISATEURS.user_ville="paris"
    et en fait là ca marche tout simplement
    je met en résolu et si vous avez d'autres proposition que
    "jointure hétérogene mysql" comme new titre du post résolu dite le moi ^^

    merci encore

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

Discussions similaires

  1. jointures hétérogènes entre Access et Oracle
    Par olibrius dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 12/10/2008, 02h08
  2. Créer une jointure hétérogène
    Par LhIaScZkTer dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/06/2008, 22h39
  3. Jointure sous MySQL
    Par zebiloute dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2007, 18h49
  4. Jointure interne mysql
    Par egho6235 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 05/04/2007, 17h29
  5. Jointure hétérogène avec Interbase ?
    Par lecrennois dans le forum InterBase
    Réponses: 1
    Dernier message: 25/10/2004, 16h51

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