---
title: "Få ut en match per grupp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/130076-få-ut-en-match-per-grupp"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Obbelix"
published: "2005-06-16T10:40:29.000Z"
updated: "2005-06-16T10:50:39.000Z"
replies: 2
views: 247
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/130076-få-ut-en-match-per-grupp"
---

# Få ut en match per grupp

## #1 — Obbelix, 2005-06-16T10:40Z

Nu har man kört fast igen...

Har en tabell där alla matcher ligger, med id:n till vilken grupp matchen tillhör, vilka lag som spelar etc.
Nu skulle jag vilja lista en match från varje grupp som endera är pågående eller kommande (status 1 el. 0). I min hjärna borde distinct eller group by funka, men hur jag än försöker vill det inte bli rätt.
Har detta än så hittils:

```
SELECT gr.home_goals, gr.away_goals, t1.team_name AS th, t2.team_name AS ta, 
g.group_name FROM group_rounds gr
INNER JOIN group_teams gt1 ON gr.team_home=gt1.id
INNER JOIN teams t1 ON t1.id=gt1.team_id
INNER JOIN group_teams gt2 ON gr.team_away=gt2.id
INNER JOIN teams t2 ON t2.id=gt2.team_id
INNER JOIN groups g ON g.id=gr.group_id
WHERE gr.status=1 OR gr.status=0
GROUP BY g.group_name,gr.home_goals, gr.away_goals, t1.team_name,t2.team_name,
ORDER BY g.group_name ASC, gr.play_date ASC
```

Önskat resultat:

```
group_name | th       | ta       |  home_goals | away_goals
-------------------------------------------------------
Grupp 1      Lag A      Lag B       2            3
Grupp 2      Lag C      Lag D       0            2
Grupp 3      Lag E      Lag F       1            1
```

Använder MSSQL

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

## #2 — LarsG, 2005-06-16T10:47Z

```
SELECT gr.home_goals, 
  gr.away_goals, 
  t1.team_name AS th, 
  t2.team_name AS ta, 
  g.group_name 
FROM group_rounds gr
INNER JOIN group_teams gt1 ON gr.team_home=gt1.id
INNER JOIN teams t1 ON t1.id=gt1.team_id
INNER JOIN group_teams gt2 ON gr.team_away=gt2.id
INNER JOIN teams t2 ON t2.id=gt2.team_id
INNER JOIN groups g ON g.id=gr.group_id
WHERE gr.status = in (1,0)
and gr.play_date = (select min(play_date)
from group_rounds q
where q.group_id = gr.group_id
and q.status in(1,0))
ORDER BY g.group_name ASC, gr.play_date ASC
```

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

## #3 — Obbelix, 2005-06-16T10:50Z

Bara att applådera! 
Hade jag aldrig kommit på själv. Dock fanns ett litet litet fel :) 
"=" före in (1,0) ska bort...

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/130076-få-ut-en-match-per-grupp
