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 :

jointure qui retourne tout sur une seule ligne


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 62
    Points
    62
    Par défaut jointure qui retourne tout sur une seule ligne
    Bonjour.

    J'aimerai extraire plusieurs lignes de plusieurs tables ayant la même structure:
    id, nom,titre,date,url,bit

    Je fais donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM cites,politis,culture ORDER BY 'nom'
    En testant ça dans PhpMyAdmin, le résultat est sur une seule ligne concaténée
    id, nom,titre,date,url,bit,id, nom,titre,date,url,bit,id, nom,titre,date,url,bit

    Je n'avais jamais vu ça auparavant .

    Quelqu'un peut m'aider s'il vous plait ?
    Merci

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 181
    Points : 189
    Points
    189
    Par défaut
    bonsoir,
    c'est normal, une requête select renvoie les champs à la suite les uns des autres
    quel que soit le nombre de tables concernées par la requête
    je ne sais pas comment faire en une seule requête pour afficher les champs séparés
    personnellement, je ferais ça en trois requêtes

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 62
    Points
    62
    Par défaut
    oui les champs sont toujours assemblés, mais pas les lignes il me semble.

    j'explique :

    table 1:
    id nom date
    1 raf 27/10/77

    table 2:
    id nom date
    1 matth 26/06/80

    table 3:
    id nom date
    1 caro 23/12/82

    puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM table1,table2,table3 ORDER BY 'date'
    devrait me retourner :
    1 raf 27/10/77
    1 matth 26/06/80
    1 car 23/12/82


    et non pas :
    1 raf 27/10/77 1 matth 26/06/80 1 car 23/12/82

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 181
    Points : 189
    Points
    189
    Par défaut
    parfaitement d'accord avec toi, dans tes tables elles sont séparées mais quand tu fais une requête select, il met les champs à la suite dans le résultat
    1->table1.chp1,table1.chp2...table1.chpN,table2.chp1,table2.chp2...
    2->table1.chp1,table1.chp2...table1.chpN,table2.chp1,table2.chp2...
    et normalement il les X

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 62
    Points
    62
    Par défaut
    en effet c'est stressant.
    J'avais dèjà manipulé les jointures , mais je ne me souviens pas d'avoir eu affaire à un tel problème...

    C'est peut-etre car la clé primaire est identique pour chaque ligne ?
    je vais essayer faire une clé composite sur l'id et le nom, qui sait.

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 181
    Points : 189
    Points
    189
    Par défaut
    je ne pense pas que les clés primaires y soient pour quelque chose,
    c'est sql qui fonctionne comme ça
    pourquoi ne pas faire ces trois requêtes?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 62
    Points
    62
    Par défaut
    en effet , les clés n'y étaient pour rien.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 62
    Points
    62
    Par défaut
    Il fallait utiliser UNION
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * FROM table1
    UNION
    SELECT * FROM table2

    edit : pour trier il faut créer une table temporaire sinon ça ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $request ="SELECT * FROM cites UNION SELECT * FROM politis UNION SELECT * FROM culture AS tmp ORDER BY date DESC";

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 181
    Points : 189
    Points
    189
    Par défaut
    ça pourra me servir

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 62
    Points
    62
    Par défaut
    Merci à toi

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/02/2014, 17h07
  2. Tout le contenu est sur une seule ligne
    Par mercure07 dans le forum Qt
    Réponses: 2
    Dernier message: 05/07/2012, 08h59
  3. [WD15] Export XML, tout sur une seule ligne
    Par lazariel dans le forum WinDev
    Réponses: 4
    Dernier message: 18/05/2010, 15h17
  4. [OLEDB] Tout le code est sur une seule ligne
    Par randriano dans le forum Interfaces de programmation
    Réponses: 16
    Dernier message: 21/08/2008, 14h24
  5. wxWidgets : couleur de texte sur une seule ligne
    Par Oatly dans le forum wxWidgets
    Réponses: 8
    Dernier message: 05/12/2004, 19h24

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