hammersMedlem sedan juli 2000101 inlägg
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
Ex:
ID, Name, TotGls, TotPts
13, Leif, 4, 19
19, Arne, 6, 31
Jag skulle vilja komplettera frågan med poängen från den aktuella omgången, ex:
ID, Name, TotGls, OmgPts, TotPts
13, Leif, 4, 7, 19
19, Arne, 6, 3, 31
Det finns ett fält i tbl_lineups som heter Omg, där omgångens nummer lagras.
Finns det nåt sätt att i samma SQL-fråga få ut "SUM(L.pPoints) WHERE L.Omg = 4"??
Hoppas nån förstår... :q
LarsGMedlem sedan dec. 200012 465 inlägg
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
hammersMedlem sedan juli 2000101 inlägg
Funkade klockrent, tack!
En följdfråga: Går det att få med alla spelare som finns i tbl_players, även om de inte finns i tbl_lineups?
LarsGMedlem sedan dec. 200012 465 inlägg
Jo,
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
hammersMedlem sedan juli 2000101 inlägg
Återigen klockrent :)
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
LarsGMedlem sedan dec. 200012 465 inlägg
Ett index på tbl_lineups(playerID) kanske?
Den borde väl i och för sig ingå som första kolumn i primärnyckeln för tbl_lineups?
hammersMedlem sedan juli 2000101 inlägg
Ett index på tbl_lineups(playerID) kanske?
Den borde väl i och för sig ingå som första kolumn i primärnyckeln för tbl_lineups?
Numera gör den det.... Det var jag som hade klantat till primärnyckeln i tbl_lineups.
Ett sjutusans tack för hjälpen!!