---
title: "Summera tabell med spelarresultat fortsättning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/178565-summera-tabell-med-spelarresultat-fortsättning"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "budg1e"
published: "2009-05-16T11:55:20.000Z"
updated: "2009-05-16T13:22:53.000Z"
replies: 1
views: 381
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/178565-summera-tabell-med-spelarresultat-fortsättning"
---

# Summera tabell med spelarresultat fortsättning

## #1 — budg1e, 2009-05-16T11:55Z

Behöver ytterligare en justering...

Nu summerar den alla omgångar men jag vill att den ska summera endast en omgång.

Fält för att para ihop omgångarna:

```
laginfo.CompID = resultat.KatID
```

Fält för att para ihop lagen

```
laginfo.id = resultat.lag
```

Tabell: laginfo

```
id || CompID || LagNamn || LagLedare
```

Tabell: resultat

```
KatID || score1 || score2 || time1 || time2 || lag ||
```

Har provat flera alternativ men ej lyckas, någos som vet hur jag ska göra?
Är det INNER JOIN som behöver justeras?

```
SELECT resultat.lag, LagNamn, 
SUM(CASE WHEN rank1 BETWEEN 1 AND 3 THEN score1 ELSE 0 END) AS score1, 
SUM(CASE WHEN rank1 BETWEEN 1 AND 3 THEN time1 ELSE 0 END) AS time1, 
SUM(CASE WHEN rank2 BETWEEN 1 AND 3 THEN score2 ELSE 0 END) AS score2, 
SUM(CASE WHEN rank2 BETWEEN 1 AND 3 THEN time2 ELSE 0 END) AS time2

FROM (SELECT *, rank() OVER (partition BY lag

ORDER BY score1, time1) AS 'rank1', rank() OVER (partition BY lag

ORDER BY score2, time2) AS 'rank2'

FROM resultat) AS resultat 
INNER JOIN laginfo ON resultat.lag = laginfo.id
WHERE rank1 < 4 OR rank2 < 4

GROUP BY resultat.lag, laginfo.LagNamn

ORDER BY score1, score2, time2
```

Nästa fråga som listar spelarna ser ut såhär

```
SELECT * FROM 
(SELECT rank() OVER (partition BY lag
ORDER BY score1, time1, score2, time2) AS 'rank', 
lag, namn, score1, time1, score2, time2, T_pos

FROM         resultat

WHERE Klass = 2) t
WHERE [rank] < 5
ORDER BY t_pos
```

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

## #2 — budg1e, 2009-05-16T13:22Z

Hittade lösningen själv

```
INNER JOIN laginfo ON (resultat.lag = laginfo.id AND laginfo.CompID = " & iCompID & ")
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/178565-summera-tabell-med-spelarresultat-fortsättning
