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 :

Mettre du texte dans un champs lorsqu'un autre contient "ON"


Sujet :

Requêtes MySQL

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 138
    Points : 67
    Points
    67
    Par défaut Mettre du texte dans un champs lorsqu'un autre contient "ON"
    Bonjour,

    J'essaye de combiner des INSERT, SELECT, WHERE,... et çà ne fonctionne pas. Je vous pose donc ma question :

    J'ai un sondage qui contient une question dont chaque réponse est un champs :
    QUESTION (exemple bidon) : où avez vous déjà vu un cochon ?
    - A la télé ?
    - dans la rue ?
    - dans une ferme ?
    Chaque réponse à un champs particulier ("VuTelevision", "VuRue", VuFerme"). Devant chaque réponse, il y a une case à cocher. Lorsqu'on coche, çà créé un enregistrement avec "ON" dans le champs correspondant.

    Désormais je souhaiterais regrouper les réponses dans un même champs en mettant dans ce champs l'un en dessous de l'autre (c'est à dire un enregistrement par texte) "television" pour tous les enregistrements="ON" dans le champs "VuTelevision", "Rue" pour tous les enregistrements="ON" dans le champs "VuRue" et "Ferme" pour tous les enregistrements="ON" dans le champs "VuFerme".

    J'espère que j'ai été clair dans mon souhait

    De façon peut-être plus clair, à la place de :
    id**-**VuTelevision**-**VuRue**-**VueFerme
    1....-.........ON...........-...............-......ON........
    2....-........................-.......ON....-..................
    3....-.........ON...........-...............-..................
    4....-.........ON...........-.......ON....-.......ON.......
    je souhaite :

    id - Vu
    1 - Television
    2 - Television
    3 - Television
    4 - Rue
    5 - Rue
    6 - Ferme
    7 - Ferme
    çà sera peut-être plus compréhensible comme çà

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Peut-être avec un COALESCE.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO nouvelletable(id, vu)
    SELECT id, COALESCE(VueTelevision, VueRue, VueFerme) FROM anciennetable;

    Edit :
    En fait c'est pas ça, j'avais pas bien vu, mais peut-être qu'en combinant avec IF, ça pourrait fonctionner.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO nouvelletable(id, vu)
    SELECT id, 
    COALESCE(
      IF(VueTelevision IS NOT NULL, 'television', NULL), 
      IF(VueRue IS NOT NULL, 'rue', NULL),
      IF(VueFerme IS NOT NULL, 'ferme', NULL) 
    )
     FROM anciennetable;

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 138
    Points : 67
    Points
    67
    Par défaut
    Merci, votre réponse ma orienté vers :

    INSERT INTO nouveltable(`Vu`)
    SELECT (IF(`VuTelevision` ='ON', 'rue', NULL))
    FROM anciennetable WHERE `VuTelevision` ='ON'
    Je dois faire champs par champs mais çà fonctionne. çà évite les enregistrements vides.

    Merci encore

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/10/2011, 18h38
  2. insertion de text dans un champ d'une autre page
    Par mariox dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/05/2011, 21h02
  3. Garder la mise en forme de texte dans un champ
    Par dany13 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/07/2005, 14h49
  4. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 14h38

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