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)
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.
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
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.
258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25