Avatar billede flyfish.dk Nybegynder
26. marts 2003 - 18:59 Der er 5 kommentarer og
1 løsning

TOP / sortering

Et lille problem

jeg har en Access "database" med 3 tabeller indholdende fangst rapporte: Art, Fanger, Fangst..

imellem disse tabeller skal jeg have lavet en query som viser TOP 5, for hver fisker, for hver fiskeart, hvilket naturlig vis soteres såden at det er de 5 størreste fangster inden for en art som benyttes.
F.eks.
Fanger.navn Fangst.fangetfisk      fangst.kondition
J.Hansen    Havørred              1.45
J.Hansen    Havørred              1.30
J.Hansen    Havørred              1.10
J.Hansen    Havørred              1.00
J.Hansen    Havørred              0.90
J.Hansen    Torsk                  1.20
O.Sørensen  Havørred              OSV..........

Indtil videre har jeg selv stykket dette sammen:
lidt forklaring
Fanger.navn = navnet på fangeren
Fangst.fangetfisk = fiskeart havørred bækørred gedde stalling torsk osv.
Fangst.Konditionen =  vores måde til at beregne en størrelse faktor for fisken, jo større tal jo bedere .

Query:
SELECT Fanger.Navn, Fangst.Fangetfisk, Fangst.Kondition
FROM (Fanger INNER JOIN Fangst ON Fanger.Navn = Fangst.Fanger) INNER JOIN Art ON Fangst.Fangetfisk = Art.Navn
ORDER BY Fanger.Navn, Fangst.Fangetfisk, Fangst.Kondition DESC;

Ligenu tror jeg, at jeg mangler at få en TOP 5 ind et sted sådan at jeg kun får vist de 5 største fisk pr.art pr.fanger

Håber nogle kan hjælpe
Avatar billede mugs Novice
26. marts 2003 - 19:06 #1
Jeg er alvorlig bange for, at du skal ind i en UNION Query. Og det er jeg bare et kvajhoved til. Her er et eksempel der fungerer. Prøv evt. at udskifte tabelnavne / feltnavne med de korrekte. Det drejer sig om antal spillere der har scoret flest mål indenfor måltyper hoved / fod o.s.v. Måske det kan give dig et hint.

SELECT TOP 3 Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer
FROM Målscorer
WHERE (((Målscorer.Måltype)="Fod"))
ORDER BY Målscorer.Måltype, Målscorer.Scoringer DESC UNION

SELECT TOP 3 Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer
FROM Målscorer
WHERE (((Målscorer.Måltype)="Hoved"))
ORDER BY Målscorer.Måltype, Målscorer.Scoringer DESC UNION

SELECT TOP 3 Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer
FROM Målscorer
WHERE (((Målscorer.Måltype)="Skulder"))
ORDER BY Målscorer.Måltype, Målscorer.Scoringer DESC UNION SELECT TOP 3 Målscorer.Navn, Målscorer.Måltype, Målscorer.Scoringer
FROM Målscorer
WHERE (((Målscorer.Måltype)="Hånd"))
ORDER BY Målscorer.Måltype, Målscorer.Scoringer DESC;
Avatar billede jubas Nybegynder
26. marts 2003 - 20:10 #2
undskyld men jeg forstå ikke, er det sådanne at du skal have en top 5 for hver  fiskeart  og en top 5 for hver fisker du kan kigge på www.lystfisker.frhav.dk  under fangstrapport og se om det er noget i denne stil.
Avatar billede jubas Nybegynder
26. marts 2003 - 20:11 #3
forkert adresse
www.lystfisker.frhavn.dk
Avatar billede flyfish.dk Nybegynder
26. marts 2003 - 20:30 #4
jeg skal have en top 5 pr. fiskeart pr fisker. altså alt på 1 gang og ikke del op i 2 query's.
så hvis J.Hansen har fanget 8 havørreder så er det kun de 5 størreste som bliver taget med ud i query'en, men hvis han også har fanget 12 torsk, 10 aborre og 2 gedder så skal de 5 størreste torsk også vises osv, og på samme måde for resten af fiskene og personerne i databasen.
Senere skal jeg benytte det til at regne en "klubmester" ud med.
Avatar billede terry Ekspert
26. marts 2003 - 21:27 #5
send the dB to eksperten@santhell.dk and I will take a look (tomorrow) switching off now :o)
Avatar billede flyfish.dk Nybegynder
27. marts 2003 - 09:25 #6
hmm  jeg undskylder meget men jeg har lige snakket med de andre som har arbejdet med databasen og har funden ud af at vi intern har snakket skævt af henanden angående denne query....
derfor lukker jeg den nu  og  opretter en ny med den rigtig opgave !
Undskylder meget
//Flyfish.dk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester