|
| hjælp til select statement Fra : Rasmus |
Dato : 01-04-02 21:47 |
|
undskyld cross-postingen, men jeg er efterhånden ret så desperat
Jeg har en følgende tabel i en access database:
BrugerId INT,
Vægt INT,
Dato DateTime
eksempel på data:
1,68,15-03-2002
1,70,21-03-2002
2,60,20-03-2002
2,65,22-03-2002
2,64,25-03-2002
Jeg ønsker nu at selecte så jeg for hver bruger får den sidste måling.
Altså ønsker jeg følgende svar på min select:
1,70,21-03-2002
2,64,25-03-2002
---------------------
Jeg har prøvet :
SELECT brugerId, vægt, Max(dato) AS Maxdato
FROM Tabel
GROUP BY brugerId, vægt;
men det hjælp ikke rigtigt...
| |
Mikkel Bundgaard (01-04-2002)
| Kommentar Fra : Mikkel Bundgaard |
Dato : 01-04-02 22:09 |
|
"Rasmus" <nospam@post.dk> wrote in message
news:tH3q8.4383$567.325715@news000.worldonline.dk...
> undskyld cross-postingen, men jeg er efterhånden ret så
> desperat
>
> Jeg har en følgende tabel i en access database:
>
> BrugerId INT,
> Vægt INT,
> Dato DateTime
>
> eksempel på data:
>
> 1,68,15-03-2002
> 1,70,21-03-2002
> 2,60,20-03-2002
> 2,65,22-03-2002
> 2,64,25-03-2002
>
> Jeg ønsker nu at selecte så jeg for hver bruger får den sidste
> måling. Altså ønsker jeg følgende svar på min select:
>
> 1,70,21-03-2002
> 2,64,25-03-2002
>
> ---------------------
>
> Jeg har prøvet :
>
> SELECT brugerId, vægt, Max(dato) AS Maxdato
> FROM Tabel
> GROUP BY brugerId, vægt;
>
>
> men det hjælp ikke rigtigt...
Hej Rasmus
Hvis hver bruger maksimalt har en måling pr. dag (og siden du
er desparat) kan du bruge følgende fremgangsmåde:
Opret en forespørgsel "qryMaxDatesAndId" med følgende
indhold:
SELECT Tabel.BrugerId, Max(Tabel.Dato) AS MaksOfDato
FROM Tabel
GROUP BY Tabel.BrugerId;
Denne udhenter tupler med Id og datoen for den sidste måling.
Dette bruger jeg så i en anden forespørgsel "qryGetLastData".
SELECT qryMaxDatesAndId.BrugerId, Tabel.Vægt,
qryMaxDatesAndId.MaksOfDato
FROM Tabel
INNER JOIN qryMaxDatesAndId ON
(Tabel.Dato = qryMaxDatesAndId.MaksOfDato) AND
(Tabel.BrugerId = qryMaxDatesAndId.BrugerId);
Her samler joiner jeg på dato og id og udhenter den vægt, der
passer til datoen og id'en.
Håber du kan bruge det til noget
--
Mikkel Bundgaard
IT University of Copenhagen
http://officehelp.gone.dk
Codito, Ergo Sum
| |
Svend Weiersøe (03-04-2002)
| Kommentar Fra : Svend Weiersøe |
Dato : 03-04-02 12:03 |
|
"Rasmus" <nospam@post.dk> skrev i en meddelelse
news:tH3q8.4383$567.325715@news000.worldonline.dk...
> undskyld cross-postingen, men jeg er efterhånden ret så desperat
>
> Jeg har en følgende tabel i en access database:
>
> BrugerId INT,
> Vægt INT,
> Dato DateTime
>
> eksempel på data:
>
> 1,68,15-03-2002
> 1,70,21-03-2002
> 2,60,20-03-2002
> 2,65,22-03-2002
> 2,64,25-03-2002
>
> Jeg ønsker nu at selecte så jeg for hver bruger får den sidste måling.
> Altså ønsker jeg følgende svar på min select:
>
> 1,70,21-03-2002
> 2,64,25-03-2002
>
Denne virker
SELECT Tab.BrugerId, Tab.Vægt, Tab.Dato
FROM Tabel AS tab
WHERE Tab.Dato = (select max (Tabel.Dato) from Tabel where BrugerId =
tab.BrugerId );
mvh
Svend Weiersøe Nielsen
| |
-Martin- (03-04-2002)
| Kommentar Fra : -Martin- |
Dato : 03-04-02 17:50 |
|
On Wed, 3 Apr 2002 13:03:10 +0200, "Svend Weiersøe" <snielse3@csc.dk>
wrote:
>
>"Rasmus" <nospam@post.dk> skrev i en meddelelse
>news:tH3q8.4383$567.325715@news000.worldonline.dk...
>> undskyld cross-postingen, men jeg er efterhånden ret så desperat
>>
>> Jeg har en følgende tabel i en access database:
>>
>> BrugerId INT,
>> Vægt INT,
>> Dato DateTime
>>
>> eksempel på data:
>>
>> 1,68,15-03-2002
>> 1,70,21-03-2002
>> 2,60,20-03-2002
>> 2,65,22-03-2002
>> 2,64,25-03-2002
>>
>> Jeg ønsker nu at selecte så jeg for hver bruger får den sidste måling.
>> Altså ønsker jeg følgende svar på min select:
>>
>> 1,70,21-03-2002
>> 2,64,25-03-2002
>>
>Denne virker
>
>SELECT Tab.BrugerId, Tab.Vægt, Tab.Dato
>FROM Tabel AS tab
>WHERE Tab.Dato = (select max (Tabel.Dato) from Tabel where BrugerId =
>tab.BrugerId );
Da ikke hvis det er til mysql :)
Rasmus -> Hvilken database snakker vi om ? så ville det være noget
nemmere at finde en korrekt løsning :)
| |
Jens Gyldenkærne Cla~ (03-04-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 03-04-02 21:59 |
|
-Martin- <admin@natten-i.dk> skrev:
[Rasmus' første indlæg:]
>>> Jeg har en følgende tabel i en access database:
> Da ikke hvis det er til mysql :)
Det er det ikke.
> Rasmus -> Hvilken database snakker vi om ? så ville det være
> noget nemmere at finde en korrekt løsning :)
Han har angivet det - omend det havde været tydeligere hvis det var
skrevet i emnet (og det i øvrigt kun hører hjemme i Access-
gruppen).
--
Jens Gyldenkærne Clausen
MF (Medlem af Fiduso - www.fiduso.dk)
| |
-Martin- (03-04-2002)
| Kommentar Fra : -Martin- |
Dato : 03-04-02 22:51 |
|
On Wed, 3 Apr 2002 20:58:58 +0000 (UTC), "Jens Gyldenkærne Clausen"
<gyros@email.dk> wrote:
>-Martin- <admin@natten-i.dk> skrev:
>
>[Rasmus' første indlæg:]
>>>> Jeg har en følgende tabel i en access database:
>
>> Da ikke hvis det er til mysql :)
>
>Det er det ikke.
>
>> Rasmus -> Hvilken database snakker vi om ? så ville det være
>> noget nemmere at finde en korrekt løsning :)
>
>Han har angivet det - omend det havde været tydeligere hvis det var
>skrevet i emnet (og det i øvrigt kun hører hjemme i Access-
>gruppen).
Tjaa det første man blir blind på er øjet :) ... Læste det lige
igennem 1 gang til og læse access :)
| |
Peter Lykkegaard (04-04-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 04-04-02 06:59 |
|
"Jens Gyldenkærne Clausen" <gyros@email.dk> wrote in message
news:Xns91E5E9C9E8174jgcnospamget2netdk@212.242.40.196...
> Han har angivet det - omend det havde været tydeligere hvis det var
> skrevet i emnet (og det i øvrigt kun hører hjemme i Access-
> gruppen).
>
Imho kan det fint behandles som mere generelt SQL spørgsmål, og hører derfor
til i denne gruppe - selvom det er Access
mvh/Peter Lykkegaard
| |
|
|