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 :

explode + requette


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut explode + requette
    bonjour

    j'ai une table RANDO_A_FAIRE avec un champ (RANDONNEUR) qui contient des references séparées par des pipe
    11111111|22222222|33333333|

    dans une autre table RANDOPEI j'ai un champ (REF) = au champ randonneur
    11111111

    je voudrais resortir les datas NOM et VILLE de la table RANDOPEI suite à un explode du champ RANDONNEUR de la table RANDO_A_FAIRE

    je pense qu'il faut 2 requettes donc une avec jointure, mais j'avoue je ne sais pas comment commencer

    un peu d'aide serais bienvenue

  2. #2
    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 : 74
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    En utilisant REGEXP dans la clause ON de la jointure, mais ça risque de consommer beaucoup de ressources.
    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)

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    bonjour

    merci pour ta réponse mais je vois pas comment utiliser une regexp

    si tu avais un exemple ca me libererais les neureures

    a+ gilles

  4. #4
    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 : 74
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    J'me jette à l'eau, alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FROM RANDO_A_FAIRE
    INNER JOIN RANDOPEI ON  RANDO_A_FAIRE.RANDONNEUR REGEXP CONCAT ('\'(',REF,')\'')'
    Je ne suis vraiment pas sûr que MySQL va interprèter le résultat de CONCAT comme motif pour le REGEXP.
    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)

  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 : 74
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    En fait, après test, c'est encore plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT R.REF,R.NOM,R.VILLE,RAF.RANDONNEUR
    FROM RANDO_A_FAIRE RAF
    INNER JOIN RANDOPEI R ON  RAF.RANDONNEUR REGEXP (R.REF)
    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
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    bonjour

    meeeeeeeeeeerci ca marche super

    j'avais commencer la requette differement (ancienne ecole ), mais je resortais que le 1er enregistrement. je n'avais pas encore integre REGEX

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $result="select RANDO_A_FAIRE.RANDONNEUR,NOM_PRENOM,VILLE "; 
    $result.="from RANDONNEUR,RANDO_A_FAIRE ";
    $result.="where RANDO_A_FAIRE.ID_RANDO = '1' and RANDONNEUR.ID_REF=RANDO_A_FAIRE.RANDONNEUR ";
    pourrais tu me commenter ta requette pour que je ne meure pas idiot sa m'arangerais bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $result=" SELECT R.ID_REF,R.NOM_PRENOM,R.VILLE,ID_REF.RANDONNEUR ";
    $result.="FROM RANDO_A_FAIRE ID_REF INNER JOIN RANDONNEUR R ON  ID_REF.RANDONNEUR REGEXP (R.ID_REF)";
    encore un grand merci

Discussions similaires

  1. rave et requette sql
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/04/2004, 17h34
  2. union de requette
    Par hunter dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/03/2004, 11h33
  3. requette sql compliqué sous delphi
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2004, 17h33
  4. Requette de joiture sql avec au moin 3 tables
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/03/2004, 09h10
  5. equivalent à explode?
    Par djridou dans le forum Langage
    Réponses: 3
    Dernier message: 28/08/2002, 12h01

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