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

PHP & Base de données Discussion :

Remplir une table avec les données d'une autre table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Webmaster
    Inscrit en
    Octobre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 125
    Points : 82
    Points
    82
    Par défaut Remplir une table avec les données d'une autre table
    Hello à tous,

    j'ai une table tbl1 qui comprend

    4 champs.

    J'aimerai prendre 3 de ces champs pour les coller dans une autre base tbl2. mais avec une petite subtilité : j'aimerai faire une somme de montant par CodeRegroupementClient, Client et Date

    exemple tbl1

    CodeRegroupementClient | Montant | Client | Date

    FG | 230000 | AZERTY | M
    AF | 300000 | ERZTYU | M+1
    AF | 230000 | ERZTYU | M+2
    AF | 200000 | ERZTYU | M+1
    FG | 230000 | AZERTY | M
    RT | 345000 | RTYUOP | M+1
    FG | 230000 | TYUIREI | M
    RT | 345000 | RTYUOP | M+1
    J'aimerai avoir dans ma tbl2

    CodeRegroupementClient | Montant | Client | Date
    FG | 460000 | AZERTY | M
    AF | 500000 | ERZTYU | M+1
    AF | 230000 | ERZTYU | M+2
    RT | 690000 | RTYUOP | M+1
    FG | 230000 | TYUIREI | M
    Sachant que j'ai 250 CodeRegroupementClient, comment le faire simplement sans prendre trop de ressources ?

    D'avance merci pour votre réponse à tous,

    Thibaut

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Points : 608
    Points
    608
    Par défaut
    Une fois que tu as le SELECT qui produit exactement ce que tu montres, il suffit de le mettre à la suite d'un INSERT, c'est pas plus compliqué

    INSERT INTO newtable SELECT ....

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE t2 SELECT codeRegroupement, sum(montant) AS montant, client, champsDate FROM t1 GROUP BY codeRegroupement
    essaye avec ça... je l'ai pas testé

  4. #4
    Membre régulier
    Profil pro
    Webmaster
    Inscrit en
    Octobre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 125
    Points : 82
    Points
    82
    Par défaut
    Merci à vous deux, je vais regarder ça !

  5. #5
    Membre régulier
    Profil pro
    Webmaster
    Inscrit en
    Octobre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 125
    Points : 82
    Points
    82
    Par défaut
    En fait, là où j'ai du mal c'est dans la requête qui affiche le résultat... le insert into c'est bon... mais par contre, je n'arrive pas à faire la première requête :

    Voici ce que je fais depuis ce matin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT CodeRegroupement, sum( Montant ) AS valeur, client, Bdate
    FROM tbl1
    GROUP BY CodeRegroupement, Bdate
    Sauf que ça ne fait que la somme par Code et non par Bdate....

  6. #6
    Membre régulier
    Profil pro
    Webmaster
    Inscrit en
    Octobre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 125
    Points : 82
    Points
    82
    Par défaut
    voici la requête finale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    INSERT INTO tbl2 SELECT CodeRegroupementClient, Sum( Solde ) AS valeur, Bdate, client
    FROM tbl1
    WHERE Bdate = 'M'
    GROUP BY CodeRegroupementClient

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

Discussions similaires

  1. Remplir une table avec les données d'une base
    Par doc dans le forum Général Java
    Réponses: 2
    Dernier message: 25/06/2012, 00h48
  2. Mise à jour d'une table avec les données d'une autre
    Par Equinoxe5 dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/09/2011, 08h00
  3. Créer une collection avec les données d'une table
    Par hidiho dans le forum PL/SQL
    Réponses: 1
    Dernier message: 30/06/2011, 09h40
  4. Réponses: 3
    Dernier message: 18/07/2006, 17h37
  5. Réponses: 3
    Dernier message: 09/04/2006, 12h58

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