Avatar billede kieldjen Nybegynder
21. marts 2002 - 00:37 Der er 13 kommentarer og
1 løsning

Udvælg imellem tidspunkter

Hej

Jeg har en tabel med flg udseende:

Kar Produkt Vendetidspt
1  Dx      06:15
1  Dx      12:45
2  Qp      06:30
2  Qp      18:00
osv

Jeg ønsker posterne på faste intervaller som f.eks

kar Produkt "06:00-12:00" "12:00-18:00" "18:00-24:00"
1  Dx      06:15        12:45                   
2  Qp      06:30                        18:30

Håber der er nogen der kan hjælpe...

Avatar billede kieldjen Nybegynder
21. marts 2002 - 00:40 #1
Ups
18:30 i sidste linie skal selvfølgelig være 18:00
Avatar billede hugopedersen Nybegynder
21. marts 2002 - 07:13 #2
SELECT Table1.fld1, Min(Table1.fld2) AS MinOffld2, Max(Table1.fld2) AS MaxOffld2 FROM Table1 GROUP BY Table1.fld1;
21. marts 2002 - 08:22 #3
Prøv denne:

TRANSFORM Max(Ventetidspt) AS Ventetid
SELECT Kar, Produkt
FROM Tabel
GROUP BY Kar, Produkt
PIVOT Choose(Int(Hour([Ventetidspt])/3)+1,"00:00-03:00","03:00-06:00","06:00-09:00","09:00-12:00","12:00-15:00","15:00-18:00","18:00-21:00","21:00-24:00");

/Thomas
21. marts 2002 - 08:24 #4
Hov, jeg kom til at lave 3-timer intervaller. Her er den med 6-timers intervaller:

TRANSFORM Max(Ventetidspt) AS Ventetid
SELECT Kar, Produkt
FROM Tabel
GROUP BY Kar, Produkt
PIVOT Choose(Int(Hour([Ventetidspt])/3)+1,"00:00-03:00","03:00-06:00","06:00-09:00","09:00-12:00","12:00-15:00","15:00-18:00","18:00-21:00","21:00-24:00");
21. marts 2002 - 08:26 #5
Det går rigtig godt :o)

Vi prøver lige en sidste gang for Prins Knud:
TRANSFORM Max(Ventetidspt) AS Ventetid
SELECT Kar, Produkt
FROM Tabel
GROUP BY Kar, Produkt
PIVOT Choose(Int(Hour([Ventetidspt])/6)+1,"00:00-06:00","06:00-12:00","12:00-18:00","18:00-24:00");
Avatar billede nih Novice
21. marts 2002 - 08:38 #6
Du kan vist ikke lave præcis hvad du ønsker, men her er noget der måske kan bruges:

Først skal du have en forespørgsel Q1 der opdeler dine tider i perioder:
SELECT kar, produkt,vendetidspunkt,  "06 - 12" AS periode
FROM Tabel4
WHERE vendetidspunkt Between # 06:00:00# And # 11:59:00#;
union
SELECT kar, produkt,vendetidspunkt, "12 - 18" AS periode
FROM Tabel4
WHERE vendetidspunkt Between #12:00:00# And #17:59:00#;
UNION
SELECT kar, produkt,vendetidspunkt, "18 - 24" AS periode
FROM Tabel4
WHERE vendetidspunkt Between # 18:00:00# And # 23:59:00#;

Herefter kan lave en krydstabulering på Q1 efter følgende retningslinjer:
[kar], [produkt] sættes til 'rækkeoverskrift'
[periode]        sættes til 'kolloneoverskrift'
[vendetidspunkt] sættes som 'værdi' til 'antal'

Håber du kan bruge det

Niels
21. marts 2002 - 08:40 #7
Niels, hvad mener du med det? Siger du at mit svar er forkert????
Avatar billede nih Novice
21. marts 2002 - 08:43 #8
sorry men tog altså ca. 20 min at skrive mit svar - anede ikke at der var andre herinde ;o).

Jeg holder på at du ikke kan liste flere værdier op i samme felt vha SQL - Du vælger MAX, mens jeg vælger COUNT.

Niels
Avatar billede kieldjen Nybegynder
21. marts 2002 - 08:47 #9
Hej alle

Takker for de hurtige tilbagemeldinger. Jeg prøver lige at tage dem fra en kant af....
Avatar billede nih Novice
21. marts 2002 - 08:48 #10
Choose(Int(Hour([Vendetidspunkt])/6)+1;"00:00-06:00";"06:00-12:00";"12:00-18:00";"18:00-24:00")

Er et udtryk jeg har skrevet bag øret - ret smart.
21. marts 2002 - 08:49 #11
:o)
Avatar billede kieldjen Nybegynder
21. marts 2002 - 08:58 #12
jeg kom ikke længere end til Thomasjepsens løsning og det var lige det jeg skulle bruge - takker alle for hurtig respons
21. marts 2002 - 08:58 #13
takker selv :o)
Avatar billede nih Novice
21. marts 2002 - 09:11 #14
Helt iorden.
Men hvis du har flere vendetidspt'er i samme periode returneres kun det tidspt der er størst.

Niels
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