0
我試圖實現下面的SQL查詢,它以我需要它進入LINQ的方式工作。我有兩個單獨的SQL查詢,我加入並選擇產品,如果組價格大於單個價格。我正在使用LINQ來創建對象,併爲採購和產品表提供了一個對象工廠。在C#中使用objectFactory加入2個獨立的LINQ查詢
select DISTINCT(a.Name) from
(select p.Prod_ID, p.Name, SUM(p.Price) as Total
from Tb_AvailableProduct p, Tb_Purchases o
where p.Prod_ID = o.Prod_ID
group by p.Prod_ID, p.Name) a
JOIN
(select p.Prod_ID, p.Price
from Tb_AvailableProduct p, Tb_Purchases o
where p.Prod_ID = o.Prod_ID) b
on a.Prod_ID = b.Prod_ID
where a.Total > b.Price
我在LINQ的這個第一次查詢,但我只是想選擇一個產品名稱,如果該產品的集體漲價高於產品的個別價格更高..即一個以上的產品已經賣出。我試圖用一筆數字來完成這個任務,而不是使用一個計數。
from o in this.myObjectFactory.ThePurchases
join p in this.myObjectFactory.TheProducts.Values
on o.ProductID equals p.ProductID
where o.CustomerID == customer.CustomerID
group p by p.ProductID into query1
select new { ProductID = query1.Key, TotalPurchasesThisYear = query1.Sum (p => p.Price)});
什麼是您的SQL的第一選擇查詢的WHERE子句做?像這樣'where p.Prod_ID,p.Name' – FosterZ
我弄亂了我的Group By和Where,我糾正了編輯。感謝FosterZ – JasonTheLucky