Jag summerar totala antalet mål och poäng från tbl_lineups, och presenterar sedan detta tillsammans med info från tbl_players.
SELECT P.playerID, P.PlayerLName, SUM(L.pPoints) AS TotPts, SUM(L.pGoals) AS TotGls FROM tbl_lineups L
INNER JOIN tbl_players P ON P.playerID = L.playerID
GROUP BY P.playerID
SELECT P.playerID, P.PlayerLName,
SUM(L.pPoints) AS TotPts,
SUM(case when L.Omg = 4 then L.pPoints else 0 end) as pmgPts,
SUM(L.pGoals) AS TotGls
FROM tbl_lineups L INNER JOIN tbl_players P
ON P.playerID = L.playerID
GROUP BY P.playerID,P.PlayerLName
SELECT P.playerID, P.PlayerLName,
SUM(L.pPoints) AS TotPts,
SUM(case when L.Omg = 4 then L.pPoints else 0 end) as pmgPts,
SUM(L.pGoals) AS TotGls
FROM tbl_players P left outer join tbl_lineups L
ON P.playerID = L.playerID
GROUP BY P.playerID,P.PlayerLName
Tyvärr går det ganska segt när jag kör frågan. Går det snabbare om man indexerar, och vad skulle i så fall behöva indexeras?
Eller finns det möjligen nåt annat sätt att snabba upp den?
SELECT P.playerID, P.PlayerLName,
SUM(coalesce(L.pPoints,0)) AS TotPts,
SUM(case when L.Gameweek = 12 then L.pPoints else 0 end) as OmgPts,
SUM(coalesce(L.pGoals,0)) AS TotGls
FROM tbl_players P left outer join tbl_lineups L
ON P.playerID = L.playerID
GROUP BY P.playerID,P.PlayerLName