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 :

Besoin d'aide pour joindre deux requetes


Sujet :

Langage SQL

  1. #1
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 247
    Points : 293
    Points
    293
    Par défaut Besoin d'aide pour joindre deux requetes
    Bonjour,
    j'ai deux requetes et j'aimerais savoir s'il est possible d'en faire une seule, je pense qu'il faut faire une jointure mais je sais pas trop comment, si vous pourriez m'aider ca serait sympa.

    Ma table possede juste trois arqument
    InfoKey
    VersionKey
    TreeKey

    Ma premiere requete
    Select InfoKey a, InfoVersion b from MaTable where TreeKey= Cle de l'element

    Ma deuxieme requete
    Select TreeKey from MaTable where InfoKey=a and VersionKey=b and TreeKey not egal Cle de l'element

    Pour expliquer j'ai un element TreeKey et je recherche tout les autres TreeKey qui ont les même InfoKey et InfoVersion

    Voila merci de votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    Il existe plusieurs solution selon le langage utilisé.

    Tu peux faire ceci (pour utiliser une jointure)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select t1.TreeKey from MaTable t1,MaTable t2 
    where t1.InfoKey = t2.InfoKey
    and t1.InfoVersion = t2.InfoVersion
    and t1.TreeKey <> t2.TreeKey
    and t2.TreeKey = Cle de l'element

  3. #3
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 247
    Points : 293
    Points
    293
    Par défaut
    Merci ca a l'air ok je vais tester tout ca.
    Le langage est du sql et moi je cherchais un truc trop compliqué avec un inner joint, mais ce que tu as fais a l'air plus simple
    Merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    Pour information avec un inner join çà ne change rien au fonctionnel, par contre certain langage ne suporte que la notation inner join

    Je te l'a fait donc avec un inner join

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select t1.TreeKey 
    from MaTable t1 inner join MaTable t2 
    on t1.InfoKey = t2.InfoKey
    and t1.InfoVersion = t2.InfoVersion
    where t1.TreeKey <> t2.TreeKey
    and t2.TreeKey = Cle de l'element

  5. #5
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 247
    Points : 293
    Points
    293
    Par défaut
    et bien merci pour tout

  6. #6
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Pour info, il est nettement recommandé d'utiliser la jointure JOIN, de la norme SQL2 quand cela est possible.

    Plus d'infos ici : Les jointures, ou comment interroger plusieurs tables

    Et en particulier : http://sql.developpez.com/sqlaz/jointures/#L1.2

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

Discussions similaires

  1. Besoin d'aide pour une sous requete
    Par Celia1303 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 12/10/2005, 15h09
  2. Besoin d'aide pour une requete
    Par jnc dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/07/2005, 12h54
  3. Création requete besoin d'aide pour une date
    Par royrremi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/07/2004, 23h03

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