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

Oracle Discussion :

Deconcatenation d'une liste en fonction d'un separateur


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2004
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 41
    Points : 29
    Points
    29
    Par défaut Deconcatenation d'une liste en fonction d'un separateur
    Bonjour,

    Je cherche comment afficher une liste en fonction d'un separateur.

    exemple :
    le séparateur est '#'
    TABLE1
    Col1 - Col2
    id1 - A
    id2 - B
    id3 - C
    id4 - D

    TABLE2
    Col1 - Col2
    id1#id2 - Val1
    id3#id4 - Val2

    Donc pour la requete
    select * from TABLE2 where Col2='Val1'
    je voudrais retourner de TABLE1 les valeurs A et B

    Proposition d'une piste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    * from TABLE1
    where TABLE1.Col1 in 
    (FonctionDeConcatener (select TABLE2.Col1 from TABLE2 where Col2='Val1','#'))
    


    J'espère que je suis assez clair. Si cela n'est pas le cas n'hesiter pas à me le dire.

    Merci d'avance.





  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT t1.*
    FROM TABLE2 t2, TABLE1 t1
    WHERE t2.Col2='Val1' 
    AND INSTR('#' || t2.col1 || '#','#' || t1.col1 || '#')>0
    

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2004
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    Merci pour la reponse aussi rapide et exactement ce que je voulais

    Je cherchais beaucoup plus complique alors qu'il avait plus simple.

    Merci encore

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

Discussions similaires

  1. filtrer une liste en fonction d'une valeur
    Par robocop2776 dans le forum Access
    Réponses: 4
    Dernier message: 06/04/2007, 10h13
  2. afficher une liste en fonction de la lettre tapée
    Par mademoizel dans le forum ASP
    Réponses: 45
    Dernier message: 15/03/2007, 17h29
  3. [PostGreSQL] Charger une liste en fonction de la precedente
    Par angeblanc22 dans le forum PHP & Base de données
    Réponses: 31
    Dernier message: 07/03/2007, 12h33
  4. Réponses: 7
    Dernier message: 28/02/2006, 16h46

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