我在查詢sql查詢時遇到了麻煩,並且想知道是否有人可以提供幫助。我有這些表:'訂單','訂單產品','產品'和'用戶'。我想了解每個「用戶」訂購的產品數量(包含在ProductID中的「OrderProducts」中)的數量。用戶的用戶ID包含在'訂單'表中,並且'訂單產品'的訂單ID與'訂單'中的訂單ID相關。最後的結果應該是這樣的:Linq to Sql - 通過父表關聯進行雙重分組
User1 User2 User3 Product1 100 75 17 Product2 24 78 18 Product3 82 48 35
所以它由兩個用戶名和產品ID分組並通過用戶ID通吃分組ProductIDs的數量的總和。我希望這是有道理的。任何幫助非常感謝,謝謝!
這裏有一個簡單的數據庫故障:
產品
- 產品ID
- 產品名稱
訂單
- 訂單ID
- 用戶名
OrderProducts
- 訂單ID
- 產品ID
- ProductQty
用戶
- 用戶名
- 用戶名
嗯,這看起來很有希望,但我沒有得到太多的機會。我將如何修改它以返回零? (即用戶已訂購此產品0次)。最後,我將指定哪些產品和用戶包含在結果中,因此我必須將它們作爲0。非常感謝! – Ryan 2009-10-02 19:54:28
另外,讓我知道如果有人有提示清理我的疑問! – 2009-10-02 21:04:38
嘿謝謝你!我一直在另一個項目,並回到這個。我必須在VB.NET中完成這個項目,而我只有一個問題將你的linq語句轉換爲vb.net。我不知道i.Sum(v => v)會轉換爲什麼。我已經得到了這個:從產品_ 來自你在用戶_ 讓我=(從op在OrderProducts _ 其中op.Order.User.UserID = u.UserID和op.Product.ProductID = p .ProductID _ Select op.ProductQty)_ Let Qty = _ If(i.Count()= 0,0,i.Sum())_ 使用{p.ProductName,u.Username,Qty} 非常感謝瑞恩! – Ryan 2009-10-20 18:25:44