LINQ 连接 2 个数据表并使用 SUM AND GROUP BY

发布于 2024-11-07 11:14:59 字数 597 浏览 0 评论 0原文

我根本无法解决这个问题,因此非常感谢任何专家的帮助。

我正在尝试(正如主题所暗示的那样)在邮政编码上加入 2 个数据表,但返回一个按州分组并具有销售量 SUM() 的表。

这是我的麻烦的最新版本:

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"))
    });

我可以加入两个表,但它得到我需要的结果,这似乎是棘手的一点。如果需要的话我只需要做两个查询,但这似乎有点落后。

提前致谢。

I simply can not get this to work out at all, so any expert help would be very much appreciated.

I'm trying (as the subject suggests) to join 2 datatables on Zip Code, but return a table which grouped this by State and has a SUM() of sales.

Here's the latest version of my troubles:

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"))
    });

I can join the 2 tables but its getting the result i need that seems to be the tricky bit. If need be I will just have to do 2 queries, but that just seems a bit backward.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

來不及說愛妳 2024-11-14 11:14:59

两个查询不会变慢(它们应该在执行时合并成一个 SQL 查询),并且在调试和可重用过程中会更具可读性、透明性。我建议将其分解。

Two queries wouldn't be any slower (they should be brought together into a single SQL query upon execution), and would be a lot more readable, transparent during debugging and reusable. I'd recommend breaking it down.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文