---
title: "Summera"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/59001-summera"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "hammers"
published: "2002-11-14T10:53:44.000Z"
updated: "2002-11-14T18:36:05.000Z"
replies: 6
views: 285
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/59001-summera"
---

# Summera

## #1 — hammers, 2002-11-14T10:53Z

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

Permalänk: https://www.webforum.nu/p/59001

## #2 — LarsG, 2002-11-14T16:10Z

```
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
```

Permalänk: https://www.webforum.nu/p/854664

## #3 — hammers, 2002-11-14T17:58Z

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?

Permalänk: https://www.webforum.nu/p/854718

## #4 — LarsG, 2002-11-14T18:08Z

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
```

Permalänk: https://www.webforum.nu/p/854723

## #5 — hammers, 2002-11-14T18:19Z

Å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
```

Permalänk: https://www.webforum.nu/p/854726

## #6 — LarsG, 2002-11-14T18:30Z

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?

Permalänk: https://www.webforum.nu/p/854736

## #7 — hammers, 2002-11-14T18:36Z

> 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!!

Permalänk: https://www.webforum.nu/p/854740

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/59001-summera
