---
title: "Flera frågor i en, hur göra?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/145812-flera-frågor-i-en-hur-göra"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "G8"
published: "2006-04-20T20:46:28.000Z"
updated: "2006-04-22T14:58:40.000Z"
replies: 5
views: 387
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/145812-flera-frågor-i-en-hur-göra"
---

# Flera frågor i en, hur göra?

## #1 — G8, 2006-04-20T20:46Z

Jag har två tabeller, lag och spelare

Laguppstallningar
\---------------
ID
Namn
Spelare1
Spelare2
Spelare3
Spelare4
Spelare5

Spelare
\---------------
ID
Namn

Det jag skulle vilja göra är att hämta ut data för varje ID nummer i laguppstallningar.spelareX = spelare.id, hur loopa igenom allt detta..

I verkligheten är det fler än 5 spelare i laguppstallningartabellen men för att göra det lite mer överskådligt så strippar jag infon lite...

```
	STM = "Select spelare.id AS spelareID, spelare.namn, "&_
	"spelare.position, spelare.trojnummer FROM laguppstallningar, "&_ 
	"spelare WHERE laguppstallningar.lagid = "&LagetsID&" AND  "&_
	"laguppstallningar.omg = "&Omgang&" GROUP BY spelare.position "&_
	"DESC, spelare.Namn ASC"
	set rs = Connection.Execute(STM)
```

MySQL version 4.1.12-standard

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

## #2 — @nders, 2006-04-21T03:10Z

Menar du att du har ett fält per spelare i tabellen *Laguppstallningar*? Ha inte det. Ha en tabell som kopplar ihop *Laguppstallningar* med *spelare*, och joina på vanligt sätt.

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

## #3 — G8, 2006-04-22T13:58Z

Hur då menar du, skapa en tabell till? Vad är fördelen?

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

## #4 — GunnarD, 2006-04-22T14:26Z

Skulle man inte kunna ha med i tabellen Spelare ha med vilket lag spelaren tillhör? Nackdelen är att en spelare då endast kan tillhöra ett lag.

Spelare
\---------------
ID
Namn
LagID

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

## #5 — G8, 2006-04-22T14:27Z

Kanske inte den snyggaste lösningen, men den funkar...

```
Select 
spelare.id AS spelareID, spelare.namn, spelare.position, spelare.trojnummer, laguppstallningar.spelare1, laguppstallningar.spelare2 
,laguppstallningar.spelare3, laguppstallningar.spelare4
FROM 
spelare, laguppstallningar
WHERE (spelare.id = spelare1 OR spelare.id = spelare2 OR spelare.id = spelare3 OR spelare.id = spelare4) AND laguppstallningar.lagid = 1 AND laguppstallningar.omg = 1
GROUP BY 
spelare.position DESC, spelare.Namn ASC
```

Har du ett bättre förslag sn@beln?

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

## #6 — @nders, 2006-04-22T14:58Z

> Har du ett bättre förslag sn@beln?

Ja, det tycker jag.

lag
\-------------------
id
namn

spelare
\-------------------
id
namn
position

lagspelare
\-------------------
lagid
spelarid

```
SELECT lag.id, lag.namn, spelare.id, spelare.namn, spelare.position
FROM lag 
INNER JOIN lagspelare ON lag.id = lagspelare.lagid
INNER JOIN spelare ON lagspelare.spelarid = spelare.id
ORDER BY spelare.position DESC, spelare.namn
```

Jag hoppas du ser fördelen i att inte bygga sina tabeller i sidled, så man måste förändra tabellstrukturen för att tillföra mer data.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/145812-flera-frågor-i-en-hur-göra
