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 :

Problème update & concat


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut Problème update & concat
    Bonsoir messieurs,

    quelqu'un peut me dire pourquoi cette syntaxe ne fonctionne t-elle pas ?

    update clients
    set matchcode=select concat(LEFT(rs,1), ' ', RIGHT((LEFT(adr1,12)),4), LEFT(cp,2), LEFT(ville,3)) from clients;


    Sachez d'ailleurs que:

    select concat(LEFT(rs,1), ' ', RIGHT((LEFT(adr1,12)),4), LEFT(cp,2), LEFT(ville,3)) from clients;

    Cette requête fonctionne parfaitement.
    Moi j'avoue je calle, ca fait des heures que je me prends la tête dessus!!!

    Merci d'avance.

  2. #2
    Membre chevronné Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Par défaut
    c'est quoi le resultat de ta requette:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select concat(LEFT(rs,1), ' ', RIGHT((LEFT(adr1,12)),4), LEFT(cp,2), LEFT(ville,3)) from clients;
    une seule valeur ou plusieurs (cad une seule ligne ou +ieurs)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut
    Plusieurs lignes !!!!

    ca crée un champs bizarre du genre 42 RTE34DFEG

    voila une idée ?

  4. #4
    Membre chevronné Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Par défaut
    le resultat doit etre une seule ligne qui contient une seule valeur et pas plusieurs.
    et il faut mettre le ():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    update clients 
    set matchcode=(select concat(LEFT(rs,1), ' ', RIGHT((LEFT(adr1,12)),4), LEFT(cp,2), LEFT(ville,3)) from clients);

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut
    Pardon effectivement c'est une seule ligne !!! Mais comme j'utilise ce résultat dans une procédure d'environ 6 boucles j'en perd mon latin!!!

    je viens de tester la mise en paranthèse du "select concat ... "

    j'obtiens une nouvelle erreur par contre qui est :

    1093 - You can't specify target table 'clients' for update in FROM clause


    La je comprends pas !!
    Peut-être que je dois la préfixée du nom de la table ?
    ou carrement enlever le "from clients" dans la requête ?

    une idée ?

    merci beaucoup

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut
    Je dirais même que le from clients est en trop!!!

    je l'ai enlevé et ca fonctionne !!!!

    Merci beaucoup pour ces petites infos bonne continuation à tous !!!!

  7. #7
    Membre chevronné Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Par défaut
    j'ai pas remarqué que c'est la meme table dans update et dans select.
    tu peux faire simplement (et ceci que ce soit le resultat une ou +ieurs lignes)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update clients set matchcode= concat( LEFT(rs,1), ' ', RIGHT((LEFT(adr1,12)),4), LEFT(cp,2), LEFT(ville,3) )

  8. #8
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 57
    Par défaut
    il faut voir si les propriétés du champ matchcode colle avec ce que tu va mettre dedant.

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

Discussions similaires

  1. Problème update ??
    Par cristolb dans le forum Langage SQL
    Réponses: 5
    Dernier message: 19/08/2005, 13h08
  2. Problème update
    Par elhani dans le forum Langage SQL
    Réponses: 1
    Dernier message: 18/08/2005, 12h30
  3. Problème UPDATE et LIKE
    Par Golork dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/08/2005, 16h01
  4. [Update]Problème update Eclipse
    Par tomate dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 05/04/2005, 11h14
  5. Problème UPDATE
    Par Eltaz dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/07/2004, 11h37

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