Avatar billede adhn Nybegynder
18. august 2003 - 13:28 Der er 15 kommentarer og
1 løsning

Kriterier i forespørgsel

Jeg har en database over fisketurer og fangstrapporter og vil gerne lave en rekordliste over alle de forskellige arter.
Jeg har lavet en forespørgsel udfra tabellen "Fangster", hvor jeg godt kan få den til at vise max-vægten for hver art, men hvis jeg skal have den til at vise datoen og evt. vandet hvor fisken er fanget, får jeg flere resultater.
Kan man lave ovenstående forespørgsel, hvor den så bare "viser" f.eks. fangst_id, dato og vand, således at den ikke "beregner" forespørgslen på fangst_id, dato og vand, men kun på art og vægt?
Håber det er til at forstå, ellers må jeg prøve igen.
Avatar billede Jørgen Kirkegaard Professor
18. august 2003 - 13:32 #1
Du skal -i stil med http://www.eksperten.dk/spm/387722
15/08-2003 08:27:43
først lave et query, som giver dig præcis de rækker, du skal bruge. Efterfølgende joiner du dette med de ekstra-oplysninger, der skal på. Er du med/har jeg misforstået?
Avatar billede mugs Novice
18. august 2003 - 14:02 #2
SELECT TOP 5 Fangster.art, Fangster.vægt
FROM Tabel1
ORDER BY Fangster.vægt DESC;
Avatar billede Jørgen Kirkegaard Professor
18. august 2003 - 14:04 #3
..jo Mugs, men så kan man ikke komme datoen på..
Avatar billede mugs Novice
18. august 2003 - 14:06 #4
OK - har alligevel aldrig fattet den der SQL. det er kun for indviede ;o)
Avatar billede adhn Nybegynder
18. august 2003 - 22:58 #5
staticdata
Jeg får først mulighed for at afprøve det i morgen, vender tilbage!
Avatar billede adhn Nybegynder
19. august 2003 - 10:16 #6
staticdata
Jeg ved ikke hvordan jeg skal joine dem! Her er en lidt bedre forklaring på hvad det er jeg vil.
Jeg har en tabel "Fangster" med følgende rækker:
Fangst_id
Art
Vægt
Længde
Dato
Medlem

Nu vil jeg gerne kunne lave en rekordliste med alle informationerne. Jeg har lavet en forespørgsel, hvor jeg godt kan få den største vægt for hver art, men uden Fangst_id, Længde, Dato og Medlem, hvordan gør jeg det?
Avatar billede Jørgen Kirkegaard Professor
20. august 2003 - 08:00 #7
Prøv dig frem i designeren.
Avatar billede adhn Nybegynder
20. august 2003 - 09:58 #8
Er der ingen so kan hjælpe med at få lavet en rekordliste som beskrevet ovenfor?
Problemet er at, jeg har en tabel "fangster" med fangst_id, art, vægt, længde og medlem. Når jeg laver en forespørgsel med alle felter og vælger "maks" ved vægt, får jeg alle fangsterne.
Kan man få en forspørgsel til at "ignorere" et felt f.eks. fangst_id så man kun ser hvilket Fangst_id den størte af hver art har?
Avatar billede mugs Novice
20. august 2003 - 11:40 #9
Jeg tror du skal ins i en UNIOM i stil dette:

SELECT TOP 1 fangster.art, fangster.vægt,fangster.længde,fangster.medlem
FROM fangster
WHERE (((fangster.art)="laks"))
ORDER BY fangster.vægt DESC UNION

SELECT TOP 1 fangster.art, fangster.vægt,fangster.længde,fangster.medlem
FROM fangster
WHERE (((fangster.art)="sild"))
ORDER BY fangster.vægt DESC UNION

SELECT TOP 1 fangster.art, fangster.vægt,fangster.længde,fangster.medlem
FROM fangster
WHERE (((fangster.art)="torsk"))
ORDER BY fangster.vægt DESC UNION

SELECT TOP 1 fangster.art, fangster.vægt,fangster.længde,fangster.medlem
FROM fangster
WHERE (((fangster.art)="bækørred"))
ORDER BY fangster.vægt DESC UNION

SELECT TOP 1 fangster.art, fangster.vægt,fangster.længde,fangster.medlem
FROM fangster
WHERE (((fangster.art)="ørred"))
ORDER BY fangster.vægt DESC UNION SELECT TOP 1 fangster.art, fangster.vægt,fangster.længde,fangster.medlem
FROM fangster
WHERE (((fangster.art)="bækørred"))
ORDER BY fangster.vægt DESC;

Prøv at åbne en ny forespørgsel uden tabeller, og i SQL vinduet kopierer du dette ind. Du skal dog kontrolle, at artsnavnet er stavet på samme måde som i din db
Avatar billede mugs Novice
20. august 2003 - 11:46 #10
Hvis du lægger din e-mail, kan jeg sende dig en lille testdb der viser ovenstående.
Avatar billede adhn Nybegynder
20. august 2003 - 11:49 #11
Jeg har ikke mulighed for at afprøve det nu, da jeg er på arbejdet, men vil prøve det i aften eller i morgen.
Har det nogen betydning at når jeg opretter en ny fangst så vælger jeg arten i en combobox som er baseret på en tabel "arter"?
Skal jeg f.eks. hvis der bliver fanget en ny art så ind og skrive et nyt stykke kode for den nye art?
Avatar billede mugs Novice
20. august 2003 - 11:53 #12
Jeg har også lavet det med en combo, idet det er afgørende, at artesnavnet altid staves ens.

Skal jeg f.eks. hvis der bliver fanget en ny art så ind og skrive et nyt stykke kode for den nye art?

JA

Men det gør f.eks ikke noget, at du har arter i SQL, som der endnu ikke er fanget. Hvis du f.eks tilføjer "fjæsing" i ovenstående kode uden der er fangster, vil arten blot ikke vises i forespørgslen.
Avatar billede mugs Novice
20. august 2003 - 11:53 #13
Skulle jeg ikke sende min db, så kan du uden at rode i din egen, se om det fungerer.
Avatar billede adhn Nybegynder
20. august 2003 - 13:36 #14
Det lyder rigtig lovende!
Her er min mail:
adhn@tdcadsl.dk
Avatar billede mugs Novice
20. august 2003 - 13:40 #15
sendt
Avatar billede adhn Nybegynder
22. august 2003 - 09:29 #16
Mugs
Det virker, så jeg lukker og afslutter.
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