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 :

Duplication table et group by


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué Avatar de Maxi-môme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 144
    Points : 144
    Points
    144
    Par défaut Duplication table et group by
    Bonjour à tous,

    J'ai un problème d'organisation :

    - J'ai une table Commandes_tmp qui contient 6 champs :
    NumReservation, NumCommandeLigne, DateCommande, NumClient, RefVehicule et Quantite.

    - A partir de cette table, je veux en créer une autre (Commandes) qui a exactement la même structure et qui contient les mêmes valeurs que Commandes_tmp sauf pour les champs NumCommandeLigne et Quantite.

    - Pour les deux tables, la clé primaire est composée des champs NumReservation et NumCommandeLigne.


    Ma table Commandes_tmp ressemble à ça :

    2001 - 1 - 17/07/07 - 12 - AAA - 1
    2001 - 2 - 17/07/07 - 12 - BBB - 1
    2001 - 3 - 17/07/07 - 12 - AAA - 1
    2002 - 1 - 18/07/07 - 23 - AAA - 1
    2003 - 1 - 18/07/07 - 24 - AAA - 1
    2003 - 2 - 18/07/07 - 24 - AAA - 1
    2003 - 3 - 18/07/07 - 24 - AAA - 1
    2003 - 4 - 18/07/07 - 24 - CCC - 1

    Je souhaite que ma table Commandes ressemble à ça :

    2001 - 1 - 17/07/07 - 12 - AAA - 2
    2001 - 2 - 17/07/07 - 12 - BBB - 1
    2002 - 1 - 18/07/07 - 23 - AAA - 1
    2003 - 1 - 18/07/07 - 24 - AAA - 3
    2003 - 2 - 18/07/07 - 24 - CCC - 1


    Je me doute qu'un group by est nécessaire mais je ne vois pas trop comment faire, merci d'avance pour votre aide.

  2. #2
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    Oui, c'est une make-table query en regroupment:

    J'écrirais un truc du genre:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Commandes_tmp.NumReservation, First(Commandes_tmp.NumCommandeLigne) AS NumCommandeLigne, Commandes_tmp.DateCommande, Commandes_tmp.Numclient, Commandes_tmp.RefVehicule, Count(Commandes_tmp.Quantite) AS Quantite INTO Commandes
    FROM Commandes_tmp
    GROUP BY Commandes_tmp.NumReservation, Commandes_tmp.DateCommande, Commandes_tmp.Numclient, Commandes_tmp.RefVehicule;

    Par contre, le champ NumCommandeLigne ne sera pas tout a fait comme tu l'as dit, tu auras dans ton exemple, vu qu'il te prend le premier de chaque groupe:
    2001 - 1 - 17/07/07 - 12 - AAA - 2
    2001 - 2 - 17/07/07 - 12 - BBB - 1
    2002 - 1 - 18/07/07 - 23 - AAA - 1
    2003 - 1 - 18/07/07 - 24 - AAA - 3
    2003 - 4 - 18/07/07 - 24 - CCC - 1

    Je ne connais pas de méthode SQL pour faire un numéro séquentiel qui repart a 1 à chaque début de groupe (peut faire l'objet d'un nouveau post).

    Je ferais une petite fonction en VB qui traite ta table Commandes, c'est hautement faisable.
    puis et puis et encore . Sinon sans oublier et

  3. #3
    Membre habitué Avatar de Maxi-môme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 144
    Points : 144
    Points
    144
    Par défaut
    OK, merci timoth, j'ai reussi ce que je voulais.

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

Discussions similaires

  1. Table et Groupes
    Par loref dans le forum Jasper
    Réponses: 0
    Dernier message: 28/06/2011, 14h20
  2. Positionnement / taille pour dialog, table et groupe
    Par bruman dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 06/05/2011, 09h51
  3. Union entre 2 tables et group by
    Par Fritzoune dans le forum SQL
    Réponses: 1
    Dernier message: 18/06/2010, 12h12
  4. Duplication d'un groupe de contrôles
    Par nanoute dans le forum VB.NET
    Réponses: 3
    Dernier message: 08/09/2009, 17h30
  5. Incrément sur une table selon groupe de valeurs ?
    Par ctobini dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/02/2008, 10h22

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