这是我的代码:
var Summary = ccL3.GroupBy(g => new
{
g.JOB_BASE_NUM,
g.TOP_CUSTOMER_ID,
g.TOP_DESCRIPTION
})
.Select(g => new Type2
{
JOB_BASE_NUM = g.Key.JOB_BASE_NUM,
TOP_CUSTOMER_ID = g.Key.TOP_CUSTOMER_ID,
TOP_DESCRIPTION = g.Key.TOP_DESCRIPTION,
SUM_JOB1 = g.Sum(gs => gs.JOB1)
})
编辑:这不是重复项。先前的讨论不能直接在GROUP BY中使用。
JOB1可以为空。
问题是,如果ccL3中的所有JOB1为null,则我需要SUM_JOB1为null(如果all为null或总和为0,则返回0)。
我搜索了以下主题,但是在linq的GROUP BY中没有讨论null的总和。有谁可以帮助我吗。谢谢。
答案 0 :(得分:1)
如果任何项目不为空,则使用SELECT p.ProductRecipeID, c1.PricingID AS Component1, c2.PricingID AS Component2,
c3.PricingID AS Component3, c4.PricingID AS Component4
FROM #ProductRecipe p
LEFT JOIN #ComponentPricing c1
ON p.Component1 = c1.ProductID
LEFT JOIN #ComponentPricing c2
ON p.Component2 = c2.ProductID
LEFT JOIN #ComponentPricing c3
ON p.Component3 = c3.ProductID
LEFT JOIN #ComponentPricing c4
ON p.Component4 = c4.ProductID
,否则为空
Sum