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

Langage SQL Discussion :

update et concat


Sujet :

Langage SQL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 144
    Par défaut update et concat
    bonjour,
    j'ai une table client avec une colonne role vide pour le moment
    id nom role
    1 cd null
    2 de null

    et une table role

    id_client role
    1 ve
    1 do
    1 rm
    2 ve
    2 rc

    je veux update ma table client pour avoir la colonne role qui concatene les roles
    client_id nom role
    1 cd ve|do|rm
    2 de ve|rc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    update  c
    set c.role= concat(c.role,'|',k.role)
     
    from client as c inner join role as k
    on c.id=k.client_id
    sauf qu'il me concatene que le pipe et la premiere valeur,
    ou est mon erreur?

    Cordialement,

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 544
    Billets dans le blog
    10
    Par défaut
    Une concaténation à partir d'une chaine de caractère nulle donne null
    Vous devriez donc avoir "null" comme résultat

    Quel est votre SGBD ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 144
    Par défaut
    je suis sous sql server ,

    bah pourtant il me retourne bien la premiere valeur,

    comment je fais pour tous les récupérer

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 952
    Par défaut
    En sqlserveur il faut à mon avis passer par une requête récursive.

    Mais la vrai question est pourquoi vouloir stocker une information non normalisée (non conforme à la 1ere forme normale) alors que vous avez déjà une table d'association !
    Une vue correspondrait probablement mieux à votre besoin.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 144
    Par défaut
    je suis sage j'écoute les besoins de mon responsable lol,


    j'ai trouvé avec cela http://www.yanngg.com/2013/06/03/sql...e_seule_ligne/

    merci quand meme pour votre aide

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Citation Envoyé par oupepasa Voir le message
    je suis sage j'écoute les besoins de mon responsable lol,
    Je pense que votre responsable vous a demandé de présenter les données sur une seule ligne, je ne pense pas qu'il vous ai demandé de pourrir les perfs

    Donc, gardez votre modèle tel qu'il est. pour la présentation, vous pouvez effectivement créer une vue comme l'a suggéré skuatamad, ou alors faire faire le travail par l'application cliente, après tout, c'est bien son rôle de présenter les données à l'utilisateur.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 144
    Par défaut
    JE ne sais pas comment marche la vue , mais j'étais d'accord pour l'application cliente, normalement ca reste son boulot mais bon on m'a dit qu'on préférait comme cela

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

Discussions similaires

  1. [MySQL-5.6] UPDATE CONCAT DISTINCT
    Par la_chouette dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/04/2014, 09h22
  2. problème concat et update
    Par pgrcsn dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/03/2009, 16h48
  3. Problème update & concat
    Par beberd dans le forum Requêtes
    Réponses: 11
    Dernier message: 12/12/2006, 19h54
  4. Réponses: 3
    Dernier message: 10/11/2002, 11h03
  5. update et virgule
    Par Delph dans le forum Bases de données
    Réponses: 8
    Dernier message: 27/08/2002, 14h40

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