---
title: "Summera tabell med spelarresultat"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/178489-summera-tabell-med-spelarresultat/page2"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "budg1e"
published: "2009-05-11T08:00:26.000Z"
updated: "2009-05-16T05:52:20.000Z"
replies: 31
views: 1258
page: 2
pages: 2
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/178489-summera-tabell-med-spelarresultat"
---

# Summera tabell med spelarresultat

_Sida 2 av 2._

## #21 — budg1e, 2009-05-11T20:32Z

Tackar & bugar, nu fungerar summeringen klockrent! Måste man ställa ytterligare en SQL-fråga för att lista spelarnas individuella resultat. Ju nu ser jag bara summeringen av de 13 lagen.

Går det också att sortera lagen efter bästa resultat?

Bästa laget efter summeringen är ju det med lägst värde i score2, om lika där så avgör snabbast tid i time2, lika även där så avgör lägst värde i score1, lika även där så avgör snabbast tid i time1.

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

## #22 — Brimba, 2009-05-11T20:40Z

fråga 2 listar väl de tre bästa spelarna från respektive lag?

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

## #23 — budg1e, 2009-05-11T20:52Z

Jag får aldrig fram något fält med T_Pos. Den visar bara fråga1 med summeringen av lagen...

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

## #24 — budg1e, 2009-05-11T20:54Z

se bifoga bild hur resultatet blir

Bilagor:

- [lagen.jpg](https://www.webforum.nu/a/20279.jpg)

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

## #25 — Brimba, 2009-05-11T20:55Z

Vad får du för felmeddelande?

```
select 
	* 
from 
	(select rank() over (partition by lagid order by score1, time1, t_pos) as 'rank', lagid, namn, score1, time1, score2, time2, t_pos from resultat where score2 is not null and time2 is not null) t 
where 
	[rank] < 4
order by 
	lagid, score1, time1, t_pos
```

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

## #26 — budg1e, 2009-05-11T20:59Z

Vet inte om det har med fätnamnen att göra. I dina första förslag hade du kallat fältet ID i tabellen laginfo för LagID. Det heter bara ID... Däremot så heter det LagID i tabellen resultat.

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

## #27 — budg1e, 2009-05-11T21:01Z

inga felmeddelande, nu listas spelarnas resultat, kan man få både summeringen och resultaten samtidigt?

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

## #28 — Brimba, 2009-05-11T21:08Z

Hur vill du att det skall listas? i summeringen finns ju ingen kolumn för namnet på spelaren, men det finns på tabellen.

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

## #29 — budg1e, 2009-05-11T21:17Z

Redigerat
\-----------------
Allt fungerar bra, det enda är sorteringen av laglistan.
Om det går ska den sortera på score2 ASC, time2 ASC först därefter score1 ASC, time1 ASC
\----------------

**Helst vill jag presentera följande utseende**
\--------------------------------------------
Lag 1 \|\| Lagnamn \|\| 0 \|\| 39,7 \|\| 2 \|\| 31,8
Lagledare

\#1 spelare1 \|\| 0 \|\| 14,7 \|\| 0 \|\| 10,1
\#2 spelare2 \|\| 0 \|\| 12,6 \|\| 0 \|\| 10,9
\#3 spelare3 \|\| 0 \|\| 12,4 \|\| 2 \|\| 10,8
\#4 spelare4 \|\| 3 \|\| 10,7
\-------------------------------------------
Lag 2 \|\| Lagnamn \|\| 0 \|\| 39,7 \|\| 2 \|\| 31,8
Lagledare

\#5 spelare1 \|\| 0 \|\| 14,7 \|\| 0 \|\| 10,1
\#6 spelare2 \|\| 0 \|\| 12,6 \|\| 0 \|\| 10,9
\#7 spelare3 \|\| 0 \|\| 12,4 \|\| 2 \|\| 10,8
\#8 spelare4 \|\| 3 \|\| 10,7
\-------------------------------------------

där Lag 1 = laginfo.id
där lagnamn = laginfo.LagNamn
där lagledare = laginfo.Lagledare

där #1 = resultat.T_pos
där spelare1 = resultat.namn
där 0 = resultat.score1
där 14,7 = resultat.time1
där 0 = resultat.score2
där 10,1 = resultat.time2

laginfo.id = resultat.lagID

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

## #30 — Brimba, 2009-05-12T05:33Z

Fast med sql-server så hämtar man normalt bara data. Presentationen görs i programmet sedan. Programmet kan ju variera, det kan vara en webbsida, en applikation eller kanske bara en xml-fil.

Även om det skulle vara möjligt att presentera datat så som du önskar så vill man inte det. Detta eftersom datatyper blandas och vissa kolumner kommer på vissa rader behöva vara null eller tom bara för att kunna presentera det på rätt sätt.

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

## #31 — budg1e, 2009-05-12T05:36Z

Du har helt rätt, jag fattade aldrig att det var två olika frågor i ditt svar. Jag är jättetacksam för din hjälp, allt fungerar som det ska nu, sorteringen av laglistan fungerar också.

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

## #32 — budg1e, 2009-05-16T05:52Z

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/2184990

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/178489-summera-tabell-med-spelarresultat/page2  
Föregående sida: https://www.webforum.nu/amne/databaser-sql/178489-summera-tabell-med-spelarresultat.md
