/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problem med query
Fra : Jakob


Dato : 21-11-03 15:32

Jeg har kæmpet gevaldigt med en SQL-query, som skal finde laveste
testresultat for en gruppe personer. Det i sig selv er ikke noget
problem, når jeg bruger følgende SQL-sætning:

strQuery = "SELECT personer.navn, Min(test.resultat) FROM personer
INNER JOIN test ON personer.[person-ID] = test.[person-ID] GROUP BY
personer.navn ORDER BY Min(test.resultat) "

men når jeg så gerne vil have testdatoen [test].[dato] med, så går det
helt galt, idet jeg nu får flere resultater for hver person.

Jeg er med på, at det går galt fordi jeg beder om laveste resultat for
hver person for hver dag, men hvordan finder jeg det laveste resultat
og datoen for dette for hver person?

Jeg håber, at nogen kan hjælpe?

Jakob.

 
 
Jens Gyldenkærne Cla~ (23-11-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 23-11-03 21:23

Jakob skrev:

> strQuery = "SELECT personer.navn, Min(test.resultat) FROM
> personer INNER JOIN test ON personer.[person-ID] =
> test.[person-ID] GROUP BY personer.navn ORDER BY
> Min(test.resultat) "

Her finder du det laveste testresultat for hver person.

> men når jeg så gerne vil have testdatoen [test].[dato] med, så
> går det helt galt, idet jeg nu får flere resultater for hver
> person.

Du har tilføjet test.dato i såvel select-listen som group by-delen,
ikke sandt? Prøv i stedet at lade ovenstående select fungere som en
selvstændig forespørgsel (put parenteser omkring, sæt "as foobar"
bagefter og lav et join til testtabellen herfra.

Du risikerer stadig at få flere poster pr. person - hvis en person
fx har fået 03 til to prøver, vil begge datoer for disse prøver
dukke op. Det kan så formentlig fjernes ved endnu en group by.

NB: Hvis det ikke virker, så prøv at spørge i database-hierarkiet -
dk.edb.database eller (for Access-specifikke spørgsmål)
dk.edb.database.ms-access.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177550
Tips : 31968
Nyheder : 719565
Indlæg : 6408823
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste