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 :

Union de deux colonnes


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2012
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Union de deux colonnes
    Bonjour,
    Dans le cadre de mes cours je dois réaliser une base de données et faire des requête en SQL. J'ai un petit problème par rapport à l'une de mes requêtes.

    Voici ma requête :
    SELECT `chambre`.`numCh` , `patient`.`numP` , `subit`.`type` , `pratique`.`nomM` , `participe à`.`nomI`
    FROM `chambre`
    JOIN `patient`
    ON `chambre`.`numCh`=`patient`.`numCh`
    JOIN `subit`
    ON `patient`.`numP`=`subit`.`numP`
    JOIN `pratique`
    ON `subit`.`type`=`pratique`.`type`
    JOIN `participe à`
    ON `subit`.`type`=`participe à`.`type`
    WHERE `chambre`.`numCh`='203'
    Le résultat est en pièce jointe.
    Mon problème est le suivant, je voudrais faire une union entre les colonnes nomM et nomI pour enfin faire un COUNT de cette colonne.

    Merci d'avance.
    Images attachées Images attachées  

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Dans ce cas je suppose que ce n'est pas d'une union que vous avez besoin, mais d'une concaténation.
    L'UNION en SQL signifie l'addition de deux ensembles de données, et résulte en un ensemble de données de même structure.
    Ce n'est pas votre cas, puisque vous souhaitez concaténer deux valeurs scalaires de type chaîne de caractère pour n'en former qu'une.

    Quelle version de SQL Server utilisez-vous ?
    Avez-vous besoin du dénombrement dans la même requête que celle que vous avez-donné, ou est-ce que vous cherchez la requête elle-même ?

    @++

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Quelle version de SQL Server utilisez-vous ?
    Vu la syntaxe, MySQL !

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2012
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    La version du serveur est la 5.5

    Merci de votre réponse, mais pourtant, j'ai déjà essayé la concaténation mais ce n'est pas ce que je recherche. En fait je voudrais que la colonne nomM devienne : -DR Jordan
    - Dr Mabuse
    - Dr Baum
    - Catherine
    - Laure
    - Aurélie
    - Nathalie

    alors que lorsque je fais la concaténation, cela me fait bien une seule colonne mais les noms se collent entre eux...
    Je souhaiterai juste connaître comment écrire cette requête à l'intérieur de ma requête principale.

  5. #5
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Je pense que
    Code MySQL : Sélectionner tout - Visualiser dans une fenêtre à part
    TRIM(CONCAT(`pratique`.`nomM` , " ", `participe à`.`nomI`))
    devrait convenir.
    Mais c'est de la cosmétique, pas sûr qu'il soit pertinent de faire cela en SQL.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Pour l'union... et bien ça se fait avec l'opérateur UNION :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    SELECT ch.numCh, pa.numP , su.type , pr.nomM
      FROM chambre as ch
           INNER JOIN patient as pa
             ON pa.numCh = ch.numCh
           INNER JOIN subit as su
             ON su.numP = pa.numP
           INNER JOIN pratique as pr
             ON pr.type = su.type
     WHERE ch.numCh = '203'
     UNION
    SELECT ch.numCh, pa.numP , su.type , pt.nomI
      FROM chambre as ch
           INNER JOIN patient as pa
             ON pa.numCh = ch.numCh
           INNER JOIN subit as su
             ON su.numP = pa.numP
           INNER JOIN `participe à` as pt
             ON pt.type = su.typ
     WHERE ch.numCh = '203';

  7. #7
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    vu ce que tu as l'air de vouloir faire c'est la version de Maljuna Kris qui fera le travail voulu...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2012
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci à tous pour vos réponses et désolée de la réponse tardive !

    J'ai tenté vos solutions mais c'est c'est celle de Waldar qui a fonctionné. Et en y pensant, c'est vraiment logique comme requête ! Merci infiniment.
    J'ai essayé la solution de Maljuna Kris mais malheureusement j'obtiens une simple concaténation ...!

    Merci encore !

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

Discussions similaires

  1. [AC-2010] Créer ComboBox avec l'union de deux colonnes
    Par Gautch dans le forum IHM
    Réponses: 9
    Dernier message: 28/03/2014, 11h30
  2. Union de deux colonnes
    Par Berpj dans le forum Langage SQL
    Réponses: 5
    Dernier message: 25/09/2012, 17h21
  3. [CR] Faire un groupe sur deux colonnes, voir mon exemple
    Par Etienne51 dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 08/10/2004, 14h02
  4. UNION de deux SELECT avec nombre d'arguments différents
    Par orus8 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/07/2004, 14h32
  5. [Débutant] Union de deux tables
    Par nyarla01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/03/2004, 10h40

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