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

Développement SQL Server Discussion :

GROUP BY ou équivalent que sur certaines colonnes [2014]


Sujet :

Développement SQL Server

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2012
    Messages : 10
    Points : 7
    Points
    7
    Par défaut GROUP BY ou équivalent que sur certaines colonnes
    Bonjour,

    Dans le dernier select d'une CTE récursive, j'obtiens une liste d'appareil ayant été livré à des clients. (la récursivité me permet de partir d'une pièce composant les appareils)
    Hors certains de ces appareils peuvent être livrés successivement à des clients différents et j'obtiens donc plusieurs lignes pour chaque appareil.
    je cherche donc un méthode pour connaitre le dernier client ayant été livré pour chaque appareil.
    En essayant d'utiliser un group by et une fonction d'agregat(MAX) sur la date de livraison, ma requete échoue car le champ CodeClient (varchar30) ne peut pas être inclus dans le group by (différent à chaque client livré) contrairement au CodeArticle et au SN.
    Quelle méthode utiliseriez vous pour parvenir à récupérer le dernier client SVP ?

    Merci!
    Cordialement,
    Sébastien

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    une fonction de fenêtrage pour le MAX appliqué à la date par user et une sous requête finale filtrant la date_max avec la date d'utilisateur

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2012
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci SQLPro, j'ai fait des essais avec over (partition by) qui semble fonctionner. je n'ai pas encore fini de tester mais c'est encourageant!

    Merci!
    Sébastien

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Difficile de vous répondre sans un jeu d'essai, mais vous serez peut-être tenté d'utiliser GROUPING SETS ...

    @++

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2012
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci elsuket, je regarderai ce que permet GROUPING SET, mais partition by semble répondre à mon besoin pour le moment. si dans l'avancée de ma requête j'ai besoin de plus d'aide je créerai un jeu d'essai.

    Merci.

    Je mets résolu en espérant ne pas avoir de mauvaises surprises prochainement!

    Sébastien

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

Discussions similaires

  1. Tri effectif que sur certaines colonnes
    Par benoitbs dans le forum Excel
    Réponses: 4
    Dernier message: 22/02/2008, 15h36
  2. Réponses: 7
    Dernier message: 17/07/2007, 15h29
  3. Synchroniser 2 serveur Master Slave que sur certaine tables?
    Par berceker united dans le forum Administration
    Réponses: 2
    Dernier message: 18/09/2006, 14h33
  4. [MFC] execution possible que sur certains ordinateur
    Par Sky_Raspoutine dans le forum MFC
    Réponses: 5
    Dernier message: 10/02/2006, 08h51
  5. Programme ne fonctionnant que sur certaines machines
    Par Marekh dans le forum DirectX
    Réponses: 14
    Dernier message: 30/08/2005, 14h09

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