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 :

Update, select et count


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Points : 12
    Points
    12
    Par défaut Update, select et count
    Bonjour,

    je voudrais faire un update d'une de mes tables avec les valeurs d'un select...

    J'utilise comme requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE tt_news
    SET tt_news.tx_newsdamcon_dam_elements=(SELECT tx_dam.documentid,COUNT(*) from tt_news,tx_dam Where  tt_news.documentid = tx_dam.documentid GROUP BY tx_dam.documentid );
    Mais cela ne fonctionnepas il me dit comme erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #1093 - You can't specify target table 'tt_news' for update in FROM clause
    Pouvez-vous M'aider?

  2. #2
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut
    Bonjour,

    Je ne crois pas que se soit possible ce que tu veux faire. (enfin j'en suis quasi certain même).
    Tu ne peux procéder que par restriction avec la clause WHERE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    update ta_table 
    set ta_table.nom_col = "..."
    Where ...;
    Et non insérer une valeur grâce à un select vu que tu as plusieurs données dans cette dernière.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Pour info, j'ai trouver

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE tt_news,tx_dam SET tx_newsdamcon_dam_elements = ( SELECT COUNT( * )
    FROM tx_dam
    WHERE tt_news.documentid = tx_dam.documentid
    GROUP BY tx_dam.documentid )
    WHERE tt_news.documentid = tx_dam.documentid
    bien à vous

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

Discussions similaires

  1. Select 2 COUNT BETWEEN 2 Date
    Par aliwassem dans le forum Langage SQL
    Réponses: 34
    Dernier message: 26/01/2007, 00h17
  2. [SQL] Erreur dans UPDATE SELECT simple
    Par daner06 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 14/12/2006, 15h58
  3. Mise à Jour d'une table via un Update (select)
    Par Arola78 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 23/09/2006, 14h59
  4. faire un INSERT+UPDATE+SELECT d'un coup
    Par forzaxelah dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/07/2006, 14h58
  5. [MySQL] SELECT données + COUNT
    Par Girzi dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 29/06/2006, 11h57

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