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

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
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





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

Månedens bedste
Årets bedste
Sidste års bedste