1
基本上我试图写它加入上选择顶部1从第二表的查询所以像:LINQ查询与加入的子查询
SELECT Sum(pinfo.quantity + p.itemcount),
i.owner
FROM invoice i
JOIN purchase_info pinfo
ON pinfo.invoice = i.invid
JOIN (SELECT DISTINCT sku,
productlineid,
itemcount
FROM products WHERE productlineid in (13, 14)) p
ON p.sku = pinfo.item
WHERE i.owner = 22623
GROUP BY i.owner
这是我在LINQ可怜的企图有几分无效语法,任何想法将不胜感激。
(from i in _invoiceRepository.Table
join pi in _purchaseInfoRepository.Table on i.InvoiceId equals pi.InvoiceId
join p in (from p2 in _productRepository.Table where p2.Sku == pi.Item select new { p2.Sku, p2.ItemCount }).Take(1)
on pi.Item equals p.Sku
where i.MemberId == memberId &&
(p.ProductLineId == (int)ProductLines.InkCartridges ||
p.ProductLineId == (int)ProductLines.TonerCartridges)
select pi.Quantity * p.ItemCount)
.DefaultIfEmpty(0)
.Sum();
我有点不确定最终的结果是什么? 'pi.Quantity * p.ItemCount'?那其中的一个假设是价格乘以数量可能?你想获得发票的总价吗? – SBurris
可以说系统有点令人困惑,而订单中还有一定数量的商品还包含一定数量的商品,因此我试图获取所购商品的总数(商品数量)。问题是我需要加入sku,sku并不是独一无二的,所以我希望加入第一个可行的sku,而不是所有的sku。 – bonneyab
因此,您希望获得发票(订单)上的订单项(产品)上购买的商品总数?是从数据库填充数据(我很好奇,如果这是Linq /实体框架,它已经链接到已引用的表,或者如果连接必须手工完成)。例如_invoiceRepository.Table.First()。发票存在? – SBurris