2011-05-17 5 views
2

Je ne peux tout simplement pas obtenir ce à travailler du tout, donc toute aide d'experts serait très appréciée.LINQ Joindre 2 Datatables et avec somme et groupe par

J'essaie (comme le suggère le sujet) de joindre 2 datatables sur le code postal, mais retourne une table qui a regroupé ceci par état et a un SUM() de ventes.

est ici la dernière version de mes ennuis:

var results =(
    from a in dtList.AsEnumerable() 
    join b in dtListCoded.AsEnumerable() 
    on a.Field<string>("ZIP") equals b.Field<string>("zip") 
    group a by {a.Field<string>("StateCode")} into g 
    select new { 
     StateCode = a.Field<string>("StateCode"), 
     SumSales = b.Sum(b => b.Field<double>("SUMSales")) 
    }); 

Je peux joindre les 2 tables, mais ça devient le résultat que j'ai besoin qui semble être le plus délicat. Si besoin est, je devrai faire 2 requêtes, mais cela me semble un peu arriéré.

Merci d'avance.

+0

Salut, CatchingMonkey! J'ai une question similaire. La réponse de Kaido ne contient pas assez de détails pour moi. Ma question est ici: http://stackoverflow.com/q/43766663/1735836. Peux-tu m'aider? – Patricia

Répondre

2

Deux requêtes ne seraient pas plus lentes (elles devraient être rassemblées dans une seule requête SQL lors de l'exécution), et seraient beaucoup plus lisibles, transparentes pendant le débogage et réutilisables. Je recommande de le décomposer.

+0

Salut, Kaido! Votre réponse ne contient pas assez de détails pour moi. J'ai une question similaire.ici: stackoverflow.com/q/43766663/1735836. Peux-tu m'aider? – Patricia