2011-03-10 120 views
0

我有兩個表。
[Table.Game]
列是"PK_id""username""couponID"
[Table.Coupons]
列是"PK_id""CouponID""Points"
兩列"CouponID"與海誓山盟相關聯。假設我有兩行用戶「harry」,在[Table.Game]這個人有兩個不同的couponID
[Table.Coupons]這個用戶「哈里」具有"CouponID" 1和2列"Points"有10和20Linq Sum列包括連接

要的問題是如何做ü總結具有不同"CouponIDs"這兩個不同的點的數值。這個工作,如果我只有一個"CouponId"。但是,當用戶有兩個不同的CouponID時不行。值是0

var points = (from p in linq.Coupons 
       join g in linq.games on p.couponID equals g.couponID 
       where g.username == username && g.couponID == p.couponID 
       select (int)p.win).Sum(); 

回答

0

你已經加入對CouponID表不需要它在where

var points = (
    from p in linq.Coupons 
    join g in linq.games on p.couponID equals g.couponID 
    where g.username == username 
    select (int)p.win).Sum(); 
+0

我忘了提。 g.username ==用戶名給出了關於被請求人的「個人資料」的具體信息。所以如果在myhomepage.com上訪問人「哈利」g.username ==哈利。所以我可以選擇這個特定的人點。對於那個很抱歉 – rickard 2011-03-10 20:48:35

0

我用單一到多的關係,而不是多對多的問題解決了在我的數據庫中。