【发布时间】:2013-08-12 16:15:02
【问题描述】:
我有一个库存表和一个 stocktransactions 表。库存中的物品可以出售或免费分发。我想编写一个查询,检索每件商品的总销售量、免费分发的总量以及销售交易产生的收入。
类似于:
select i.Id,i.Title,
Sum(case when transactiontype=1 then s.MovedQuantity else 0 end) sold,
Sum(case when transactiontype=1 then s.MovedQuantity*s.UnitPrice else 0 end) Revenue,
Sum(case when transactiontype=0 then s.MovedQuantity else 0 end) distributed
From Inventory i,StockTransactions s
where i.Id=s.ItemId
group by i.Id,i.Title
如何使用 linq/lambda 实现这一点?
【问题讨论】:
-
我知道如何在 linq 中使用 lambda。我只需要帮助将此 sql 翻译成有效的表达式
-
您对哪一部分特别有困难?
GroupBy、Select和Sum应该在正确的组合中发挥作用。 -
什么是
transactiontype? -
它是一个int字段,指定交易是销售、入库还是免费复制分发交易