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 :

Remplir une table avec le résultat d'une instruction SQL


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Points : 22
    Points
    22
    Par défaut Remplir une table avec le résultat d'une instruction SQL
    Bonjour,
    J'avais un problème de doublons dans une table. Face à mon problème, je pense avoir trouvé une démarche qui fonctionne, mais je ne sais pas comment l'implémenter.

    J'ai une table "dossiers" qui contient trop d'enregistrements (je n'ai pas le choix, elle est importée comme ça). En effet, plusieurs "no_plan" sont associés à un meme dossier. Je ne voudrais conserver que le "no_plan" maximum de chaque "dossier".

    Mon idée est de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT n_dossier, MAX(no_plan) AS [maxplan]
    FROM dossiers
    GROUP BY n_dossier
    pour avoir un seul plan par no_dossier (le plus récent)

    Mais le problème, c'est que j'ai beaucoup d'autres champs dans "dossiers" qui sont alors perdus. (et je n'arrive pas à ajouter d'autres champs de "dossiers" à mon SELECT).
    Je pensais alors enregistrer le résultat de l'instruction SQL ci-dessus dans une table "dossiers2", et faire une
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "dossiers" INNER JOIN "dossiers2" ON dossiers.no_plan = dossiers2.maxplan
    Ensuite, j'aurais donc une belle table "dossiers3" qui ne contiendrait qu'une ligne par dossier (avec un seul no_plan)

    Mais je ne sais pas comment remplir tout une nouvelle table avec les résultats de mon instruction SQL.

    Pouvez-vous m'aider ?
    Merci beaucoup.

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    La syntaxe pour mettre le résultat d'un SELECT dans une table (la table est écrasée si elle existe déjà)
    SELECT champ1[, champ2[, ...]] INTO nouvelletable
    FROM source
    Dans ta première requête il suffit d'insérer INTO dossier2 juste avant FROM.
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT n_dossier, MAX(no_plan) AS [maxplan]
    INTO dossiers2
    FROM dossiers
    GROUP BY n_dossier
    A+

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    Merci bien !
    Je connaissais pas du tout ce INTO. Et j'avais surement mal orienté mes recherches. Je pensais pas que ça puisse être écrit directement dans le SELECT...

    Merci !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/04/2009, 16h35
  2. remplir un Tableau avec le résultat d'une requête SQL
    Par Jean-Claude Dusse dans le forum ASP.NET
    Réponses: 13
    Dernier message: 23/02/2009, 15h00
  3. Réponses: 11
    Dernier message: 14/03/2007, 10h13
  4. Réponses: 8
    Dernier message: 11/08/2006, 09h30
  5. [C#] Remplir une combobox avec le champs d'une table Access
    Par Damsou dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/06/2005, 15h31

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