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 :

SELECT avec jointures ?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Par défaut SELECT avec jointures ?
    Bonjour à tous.
    Si vous avez le temps de regarder ce petit truc, ça serait sympa, Merci

    Mon problème est le suivant :

    J'ai 2 tables. Chacune d'entre elle stocke des IPS en fonction d'un pseudo.
    Les 2 ont des informations plus ou moins complète.

    Il arrive qu'une IP soit stockée soit dans l'une, soit dans l'autre, soit dans les 2.

    Je cherche à faire une requête qui listerait toutes les ips distinctes (car les IPS peuvent être en double) sur les 2 tables et les afficher par ordre alphabétique.

    Aussi, avec une table on ferait ça :
    SELECT DISTINCT `Pseudo` , `IP` FROM Table WHERE Pseudo=MonPseudo order by IP
    SELECT DISTINCT `Pseudo` , `IP` FROM Table2 WHERE Pseudo=MonPseudo order by IP

    Mais ça c'est en 2 requêtes et si je l'affiche sous forme de tableau, je suis obligé de retravailler le résultat pour éviter d'afficher les IPS stockées en double (c'est à dire dans les 2 tables) et de les mettre dans l'ordre alphabétique

    Je me posais la question de savoir quelle serait l'unique requête me permettant de lister ces ips distinctes stockées dans l'une ou l'autre des tables.

    Merci d'avance

  2. #2
    Membre émérite Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Par défaut
    Je cherche à faire une requête qui listerait toutes les ips distinctes (car les IPS peuvent être en double) sur les 2 tables et les afficher par ordre alphabétique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select ip from (
    select ip from table1
    union
    select ip from table2
    )
    order by ip

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Par défaut
    Pour une raison que j'ignore, cela n'a pas fonctionné en groupant le SELECT et en ajoutant les parenthèses x

    J'ai contourné le problème cependant avec ta méthode en utilisant UNION :

    SELECT DISTINCT IP FROM blabla UNION SELECT DISTINCT IP FROM blabla ORDER BY IP asc

    Merci infiniment :-)

  4. #4
    Membre émérite Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Par défaut
    Citation Envoyé par light_at_the_end
    Pour une raison que j'ignore, cela n'a pas fonctionné en groupant le SELECT et en ajoutant les parenthèses x
    une vieille version de mysql ?

    Citation Envoyé par light_at_the_end
    J'ai contourné le problème cependant avec ta méthode en utilisant UNION :

    SELECT DISTINCT IP FROM blabla UNION SELECT DISTINCT IP FROM blabla ORDER BY IP asc

    pas bon ça, tu n'ordonnes que la deuxième table, de plus union enlève déjà les doublons, pas besoin des distincts

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Par défaut
    Je ne sais pourquoi, mais en fait, il ordonne le résultat des 2 tables. Justement je me suis posé la question, et force est de constaté qu'il ordonne tout. (Mystère ? :-)

    Version MYSQL : 5.0.32

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 134
    Par défaut
    Citation Envoyé par light_at_the_end Voir le message
    Je ne sais pourquoi, mais en fait, il ordonne le résultat des 2 tables. Justement je me suis posé la question, et force est de constaté qu'il ordonne tout. (Mystère ? :-)
    Aucun mystère : c'est le fonctionnement théorique normal de UNION avec ORDER BY
    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.

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

Discussions similaires

  1. Requete SELECT avec jointures
    Par escteban dans le forum Requêtes
    Réponses: 10
    Dernier message: 18/04/2007, 12h16
  2. [HQL] Select avec jointure
    Par jeoff dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/11/2006, 12h12
  3. [c#]commande Select avec jointure de deux tables
    Par chorokari dans le forum Accès aux données
    Réponses: 6
    Dernier message: 18/10/2006, 14h47
  4. Delete + selection avec jointure
    Par kluh dans le forum Oracle
    Réponses: 4
    Dernier message: 15/11/2005, 10h44
  5. Problème performance SELECT avec jointure
    Par Netgamer dans le forum Requêtes
    Réponses: 7
    Dernier message: 05/08/2005, 10h20

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