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

Requêtes MySQL Discussion :

[Mysql] pb de la clause UNION


Sujet :

Requêtes MySQL

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut [Mysql] pb de la clause UNION
    Avec les deux tables :
    T1=(101 AA, 102 AA, 103 BB)
    T2=(101 AA, 102 AA, 201 BB)
    je désire obtenir (101 AA, 102 AA, 103 BB, 201 BB)
    J'ai utilisé la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select T1.* from T1 left join T2 on T2.col1=T1.col1 where T2.col1 is not null
    union
    select T1.* from T1 left join T2 on T2.col1=T1.col1 where T2.col1 is null
    union
    select T2.* from T2 left join T1 on T1.col1=T2.col1 where T1.col1 is null
    MySql me jette au niveau du mot-clef UNION

    1) Quelqu'un sait il utiliser ce motclef UNION sous MySql
    2) Peut on obtenir le résultat demandé par un autre moyen plus simple

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

    quelle version de MySQL?
    Quel est le but de ta requete? obtenir tous les enregistrements de tes 2 tables?

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Salut,

    Nous avons une FAQ MySQL. Cette question en particulier devrait t'intéresser :
    http://mysql.developpez.com/faq/?pag...IBILITE_except

    As-tu la version 4.0 ?
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  4. #4
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Ingénieur DevOps
    Inscrit en
    Mai 2002
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 214
    Par défaut
    Merci de lire également les règles du forum Langage SQL où il est demandé de poster dans le forum MySQL. Vous y auriez plus de réponses. Je déplace...
    Alexandre Tranchant
    Ingénieur DevOps pour le Ministère de l'Écologie
    Retrouvez mes articles sur PHP et Symfony

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut
    Je n'ai que MySql 3.3.
    Mon but, c'est avoir l'ensemble des enregistrements des 2 tables, avec un seul exemplaire par enregistrement, que celui-ci soit existe dans une seule table ou dans les 2.
    De toute façon, le code toute simple

    select * from T1 union select * from t2
    ne fonctionne pas non plus (les 2 tables ont exactement la même structure)

    Peut t'on parvenir au même résultat sans le mot UNION ?

  6. #6
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Ingénieur DevOps
    Inscrit en
    Mai 2002
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 214
    Par défaut
    Non c'est impossible avec cette ancienne version.
    Alexandre Tranchant
    Ingénieur DevOps pour le Ministère de l'Écologie
    Retrouvez mes articles sur PHP et Symfony

  7. #7
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut
    J'ai trouvé un moyen de contourner mon problème de UNION :

    Je crée une table T3 à partir de la table T1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create table T3 as select * from T1
    J'y ajoute les enregistrements de la table T2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into T3 select * from T2
    Je supprime les doublons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create table T4 as select distinct * from T3
    Ma table T4 contient les données que je voulais. C'est fastidieux mais ça marche !

    Ca fonctionne lorsque le 1er champ est une clef primaire, car la création de la table T3 ne conserve pas la qualité de clef au champ 1.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/02/2011, 09h18
  2. La clause UNION dans une requete HQL
    Par cyclopsnet dans le forum Hibernate
    Réponses: 0
    Dernier message: 23/07/2009, 10h35
  3. [MySQL] Comment fonctionne la clause BETWEEN ?
    Par sami_c dans le forum Langage SQL
    Réponses: 10
    Dernier message: 07/09/2007, 10h03
  4. [MySQL] Construction de requête avec UNION
    Par kunchovich dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/07/2006, 19h40
  5. pb the requête sql clause UNION
    Par new_wave dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/11/2005, 13h38

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