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

SQL Procédural MySQL Discussion :

VUE qui SPLIT un champ en deux


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Par défaut VUE qui SPLIT un champ en deux
    Bonjour,

    Je souhaiterais créer une vue un peu particulier qui permettrait de créer des entrées fictives à partir de valeurs se trouvant dans un champs. Je m'explique.

    J'ai un table T qui a deux champs, A et B. le champs B est un peut particulier, pour une raison indépendante de ma volonté. Pour représenter plusieurs valeurs dans ce champs pour une même entrée. Elles sont séparées par le caractere $

    J'ai par exemple les valeurs suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    +----+----------+
    | A  | B        |
    +----+----------+
    | a1 | b1$b2$b3 |
    | a2 | b4       |
    +----+----------+
    Ce que je souhaiterais, c'est avoir une vue basé sur ma table T qui aurait une entrée par valeur se trouvant dans le champs B. Pour être plus clair, je souhaite avoir les valeurs suivantes dans ma vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    +----+----+
    | A  | B  |
    +----+----+
    | a1 | b1 |
    | a1 | b2 |
    | a1 | b3 |
    | a2 | b4 |
    +----+----+
    De mon point de vue, je dirais que ce n'est pas possible, mais je ne suis pas non plus un expert en MySQL. Ma question est donc la suivante : Est ce possible ? Et si oui, comment ?

    [EDIT] Si un modérateur passe par là, ce message serait surement mieux dans la catégorie Requêtes. Je m'excuse de ne pas l'avoir placé directement au bon endroit[/EDIT]

  2. #2
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    La seule manière que je pense possible est d'avoir une table temporaire créer via une procédure stockée. Et de poser des triggers pour garder une cohérence de la table avec le reste de ta base de donnée.

    Mais directement avec une vue, je sais pas.
    C'est pour ce genre de problème qu'on évite d'avoir des champs multi-valuées.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/12/2007, 13h52
  2. Comparaison entre deux champs de deux tables différentes
    Par liam81150 dans le forum Requêtes
    Réponses: 1
    Dernier message: 26/09/2005, 20h53
  3. [sql] afficher deux champs de deux tables sans jointure
    Par Hell dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/06/2005, 12h38
  4. voir comment est alimentée une vue qui est dans dba_objects
    Par meufeu dans le forum Administration
    Réponses: 15
    Dernier message: 06/10/2004, 17h27
  5. Pb : malloc qui marche une fois sur deux .... ?
    Par guillaume_pfr dans le forum C
    Réponses: 14
    Dernier message: 21/07/2003, 09h52

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