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 et SQL. Discussion :

Requete UPDATE avec sous-requète


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Points : 96
    Points
    96
    Par défaut Requete UPDATE avec sous-requète
    Bonjour
    voila j'ai une table principale :
    Article: texte (peut etre en doublons)
    Q1 : numerique
    P_PCP : numerique
    Date_MAj : date
    ....

    j'ai besoin de mettre à jour une table temp avec une seule ligne par article et les autres infos correspondant à dernière date de MAJ.
    Table principale_temp
    Article (unique)
    Date_maj = max (principale.date_maj)
    P_PCP=Principale.P_PCP qui correspond à date MAJ

    J'arrive à créer ma table principale_temp avec une seule ligne par article, les autres champs sont vides.
    Mais quand je tente un update il me dit :
    L'operation doit utiliser une requete qui peut etre mise à jour!!

    Voici ma requete update :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Principale_temp INNER JOIN selection_max_maj_atelier_SR ON Principale_temp.Article=selection_max_maj_atelier_SR.Article SET Principale_temp.P_PCP = selection_atelier.P_PCP;
    Dois je passer en vba ?
    Y a t il une astuce ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Points : 96
    Points
    96
    Par défaut
    j'ajoute un fichier test qui reprend ma problèmatique
    si quelqu'un a une idée / astuce ?

    merci d'avance
    Fichiers attachés Fichiers attachés

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Points : 96
    Points
    96
    Par défaut
    Bonjour
    Personne n'a une idée pour
    Table de départ avec doublon et champ date
    Table arrivée sans doublon et information par date récente ?

    MErci d'avance

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour alaingui,
    La réponse est sans doute ici
    http://www.developpez.net/forums/sho...d.php?t=576402
    (solution de Francishop)
    mais je ne suis pas encore parvenu à l'adapter à ton cas (comparaison avec une date qui est parfois nulle)

    Nb tu devrais préciser dans ta question, que choisir lorsque
    -la date n'est pas présente et
    -plusieurs enregistrements pour l'article.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Points : 96
    Points
    96
    Par défaut
    Merci Claude d'avoir regarder.

    Pour tes remarques :

    Si la date n'est pas présente on prends le premier enregistrement
    Pour plusieurs enregistrement avec date on prends la dernière date en théorie il ne peut pas y avori deux enregistrement à une même date car date au format date/heure dd/mm/yy et HH:mm:ss

    je suis en train de regarder une autre piste que la MAJ à savori l'ajout
    Je vide la table d'arrivée
    J'ajoute les champs avec date
    J'ajoute les champs avec date null mais la je bloque avec les doublons de date null

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,
    Dans ce cas spécifique, c'est très simple :
    Il faut choisir 'Article' comme clé de principale_temp.
    Avec une requête ajout dans principale_temp, les enregistrements de 'principale' triés par Article, Date (desc), Identifiant
    le 1er d'une série d' Article(i) qui va se présenter sera celui qui porte la date la plus récente ou le plus petit identifiant, si toutes les dates sont nulles pour cet article.
    Cet enregistrement sera ajouté dans principale_temp et tous ses suivants seront refusés (violation de clé).
    Voici la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO Principale_temp ( Article, Date_MAJ_atelier, Desc1, P_PPT, Comm_PPT, B_PPT, B_PCP, B_D7S, B_PST, [Besoin Atelier] )
    SELECT Principale.Article, Principale.Date_MAJ_atelier, Principale.Desc1, Principale.P_PPT, Principale.Comm_PPT, Principale.B_PPT, Principale.B_PCP, Principale.B_D7S, Principale.B_PST, Principale.[Besoin Atelier]
    FROM Principale
    ORDER BY Principale.Article, Principale.Date_MAJ_atelier DESC , Principale.Identifiant;
    NB il faut bien entendu vidanger principale_temp avant chaque réexécution
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 101
    Points : 96
    Points
    96
    Par défaut
    Merci Claude pour ton aide

    j'ai donc mis en pratique ce que tu as écrit
    c'est dommage que access ne sace pas faire des MAJ aec des champs varialbes...

    Un grand merci pour ton aide

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

Discussions similaires

  1. UPDATE avec sous requête de sélection avec regroupement
    Par Maxsen dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/03/2008, 11h20
  2. [FB2]Update avec sous requête resultat ?
    Par AuBozon dans le forum SQL
    Réponses: 1
    Dernier message: 29/02/2008, 21h04
  3. Requête Update avec Sous-requête
    Par Yohann_x dans le forum Requêtes
    Réponses: 8
    Dernier message: 16/02/2008, 13h19
  4. Requete Update avec sous requete et jointure
    Par javaboy dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/05/2007, 11h03
  5. Requete Update avec sous requete
    Par joziel dans le forum Langage SQL
    Réponses: 7
    Dernier message: 28/08/2006, 15h15

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