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 des champs ayant uniquement de la date max ?


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 41
    Points
    41
    Par défaut Update des champs ayant uniquement de la date max ?
    Bonjour,


    J'aimerais mettre à jour les champs sur une table, ayant pour date la date maximum des enregistrements.

    J'ai tenté ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    update table set tech='Michel' WHERE jour in (SELECT max(jour) FROM table)
    qui ne fonctionne pas, et me retourne ceci

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


    Par contre en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    update pause set tech='Michel' WHERE jour in (SELECT max(jour))
    ça me met à jour tous les enregistrements.


    Auriez vous une solution pour cela ?


    Merci

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Je crois qu'il suffit de cacher la table cible sous un alias de sous-requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE TABLE SET tech='Michel' WHERE jour = SELECT borne FROM (SELECT max(jour) as borne FROM TABLE) AS Masque

  3. #3
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 41
    Points
    41
    Par défaut
    Merci (en retard)

    C'était tout à fait cela

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

Discussions similaires

  1. Réponses: 21
    Dernier message: 12/12/2014, 15h04
  2. [SP2010] Rendre des champs visibles uniquement à un groupe Sharepoint
    Par rigol'man dans le forum Développement Sharepoint
    Réponses: 15
    Dernier message: 17/01/2014, 15h44
  3. [SQL] Problemes avec des champs uniques
    Par 000 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/06/2006, 13h28
  4. requêtes sur des champs date
    Par wiwi dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 03/02/2006, 14h14
  5. comparer des champs date time
    Par HULK dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/01/2005, 14h02

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