Hej, Borde fungera såhär: Inget svar på din fråga men nyfiken som jag är så MÅSTE jag fråga. Varför har du 4 tabeller med resultat? Vad jag vet eftersom jag spelar Bowling så består en bowlingmatch av 4 serier. Reslulta serie 1, Resultat serie2 osv. Skulle vilja inflika ordet "normalisering" för er som inte känner till det. Sök det ordet i artiklarna så finns några bra förklaringar på hur man normaliserar en databas. Om en match alltid innehåller fyra serier ser jag ingen anledning till att normalisera i detta fallet. Splittar man upp resultatet i en egen tabell (vilket jag antar att Pelle syftar på) tar informationen mer utrymme och blir oftast svårare att hantera (beror ju givetvis på vad man gör med den). Det finns ingen redundant information i detta fallet, så hur ska det normaliseras? Jag har ingen koll på normaliseringsgraderna, så någon som förstår sig på detta bättre får gärna rätta mig :) I detta fall borde allt kunna ligga i en och samma tabell. Normalisering behöver inte betyda bryt isär - det är lika viktigt att man normaliserar så allting hänger ihop och blir nåbart på ett logiskt sätt. Så stoppar man in allting i tabellen tävling är det inte lika svårt att skriva sql-satserna som ovanstående exempel. Hej och tack för alla som vill hjälpa till. <b>fast UNION kanske bara är mellan olika tabeller? Det lär jag strax bli varse...</b>Topp 20 ut flera fält i en tabell
jag har en databas med fyra tabeller med resultat från bowlingmatcher (varje spelare spelar 4 serier / match, och dessa lagras i vars ett fält (s1, s2, s3 och s4).
Om jag nu vill hämta de 20 högsta serierna så vill jag ju göra en select top 20, men jag får inte rätt på syntaxen.
Trodde bara det var att skriva
<code>
select top 20 s1, s2, s3, s4 from tabellnamn
</code>
Måste jag nästla syntaxen på något sätt? Någon som har ett smartare tips för att plocka ut de 20 enskilt högsta serierna?
Tack på förhand.
/MartinSv: Topp 20 ut flera fält i en tabell
SELECT TOP 20 Spelare, Resultat, Serie FROM (SELECT Spelare, S1, 1 AS Serie UNION ALL SELECT Spelare, S2, 2 AS Serie UNION ALL SELECT Spelare, S3, 3 AS Serie UNION ALL SELECT Spelare, S4, 4 AS Serie) ORDER BY Resultat DESC
/JohanSv: Topp 20 ut flera fält i en tabell
Sv: Topp 20 ut flera fält i en tabell
Sv: Topp 20 ut flera fält i en tabell
Sv: Topp 20 ut flera fält i en tabell
/JohanSv: Topp 20 ut flera fält i en tabell
tabell serie
..
tabell match
..
tabell lag
..
tabell spelare
..
tabell tävling
serieid, matchid, lagid, spelareid, fält1, fält2 osv..Sv: Topp 20 ut flera fält i en tabell
Har inte hunnit testa förslagen än, men bör kanske förklara frågan vidare - jag var visst rätt trött inatt när jag skrev den.
Resultaten ligger "självklart" inte i olika tabeller, men i olika fält i samma tabell, mest så att ni vet det :)
Skall testa förslaget nu, fast UNION kanske bara är mellan olika tabeller? Det lär jag strax bli varse...Sv: Topp 20 ut flera fält i en tabell
Nej, du kan "joina" samma tabell. Tyvärr ser jag att jag skrivit lite fel... Ska vara såhär (hoppas jag)
SELECT TOP 20 Spelare, Resultat, Serie FROM (SELECT Spelare, S1 AS Reultat, 1 AS Serie FROM tabell UNION ALL SELECT Spelare, S2 AS Reultat, 2 AS Serie FROM tabell UNION ALL SELECT Spelare, S3 AS Reultat, 3 AS Serie FROM tabell UNION ALL SELECT Spelare, S4 AS Reultat, 4 AS Serie FROM tabell) ORDER BY Resultat DESC
/Johan