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

C# Discussion :

GroupBy en linq avec des jointures.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2011
    Messages : 58
    Par défaut GroupBy en linq avec des jointures.
    Bonjour a tous,

    J'ai une requete linq qui doit faire une jointure sur 3 tables ce que j'ai fait sans problème, la ou apparait un problème c'est pour le group by je ne sais pas comment le faire fonctionner.

    Je souhaite faire un group by sur une adresse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var result = (from place in PLACE
                                       join lieu in LIEUX
                                       on place.LIEU_ID equals lieu.ID
                                       join societe in SOCIETES
                                       on place.SOCIETE_ID equals societe.ID
                       select new{ place.NOM, place.TAILLE, lieu.Adresse, societe.CA}).ToList();
    J'ai vu 2 piste de solution:
    soit après le ToList() un .GroupBy( r => r.Adresse) mais en testant ceci ne me retourne qu'une seule colonne
    soit avant le select: group place by new{ place.NOM, place.TAILLE} mais dans ce cas comment ajouter les autres tables : lieu et societe ?

    Voila j'ai cherché mais la je suis un peu bloquer et sa m'énerve !!!
    merci d'avance a vous

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il y a un truc qu'il faudrait que tu précises... Si tu groupes par adresse, tu vas obtenir plusieurs places et societes pour chaque adresse. Dans ce cas, laquelle tu prends ? La première du groupe ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2011
    Messages : 58
    Par défaut
    Pourquoi faire simple quand on peut faire compliquer.

    Mon problème est résolu je souhaité faire une suppression des résultats doublon ce qui est fait par un .Distinct()

    Donc j'ai résolu mon problème.

    Merci quand même pour l'aide apportée.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/12/2012, 14h59
  2. [AC-2003] Problème car trop de requêtes avec des jointures externes ?
    Par KriKri dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 13/08/2009, 18h49
  3. Une requête avec des jointures externes
    Par Sopra dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/07/2009, 17h28
  4. Réponses: 3
    Dernier message: 12/06/2007, 23h31
  5. Peut on utiliser OR avec des jointures de tables??
    Par gins06 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/10/2005, 12h40

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