如何將以下查詢轉換爲Linq表達式?如何將這個帶有子查詢的複雜SQL查詢轉換爲LINQ
SELECT p.playerid,
(SELECT SUM(d.runs)
FROM deliveries d
INNER JOIN overs o ON d.overid = o.overid
WHERE o.isbatting = 1
AND o.gameid = 5
AND d.player_playerid = playerid) AS runsfor,
(SELECT SUM(d.runs)
FROM deliveries d
INNER JOIN overs o
ON d.overid = o.overid
WHERE o.isbatting = 0
AND o.gameid = 5
AND d.player_playerid = playerid) AS runsagainst,
((SELECT SUM(d.runs)
FROM deliveries d
INNER JOIN overs o ON d.overid = o.overid
WHERE o.isbatting = 1
AND o.gameid = 5
AND d.player_playerid = playerid) -
(SELECT SUM(d.runs)
FROM deliveries d
INNER JOIN overs o ON d.overid = o.overid
WHERE o.isbatting = 0
AND o.gameid = 5
AND d.player_playerid =
playerid)) AS runscontributed
FROM deliveries d
INNER JOIN players p ON d.player_playerid = p.playerid
INNER JOIN overs o ON d.overid = o.overid
WHERE o.gameid = 1
GROUP BY p.playerid
結果產生的樣子:
2 13 16 -3
4 -5 18 -23
5 -6 11 -17
7 4 1 3
8 5 7 -2
9 12 17 -5
10 -4 24 -28
12 19 1 18
hmm cool!真酷! – Fredou 2011-06-16 19:07:14
非常非常仔細。 – 2011-06-16 19:10:40
哪一部分如果查詢是你掙扎的? – Magnus 2011-06-16 19:31:56