[Access] Een query combineren met OR

Pagina: 1
Acties:

  • Thomasje
  • Registratie: Augustus 2002
  • Laatst online: 29-05-2024
Ik ben voor een project bezig waar ik een overzicht moet maken van hoeveel parkeerders op een bepaalde tijd aanwezig is. Ik wil dit oplossen met 1 query. Op dit moment heb ik 2 losse omdat ik het met 1 niet aan de praat krijg.

Ik heb het idee dat het wel moet kunnen daarom dat ik hier de vraag stel wat ik verkeerd doe.

Query voor selecteren van parkeerders die er staan tussen 21 uur en later
code:
1
SELECT Count(*) AS aantal FROM ParkeerHistorie WHERE (((ParkeerHistorie.StartTijd)<#10/19/2006 21:0:0#) AND ((ParkeerHistorie.EindTijd)>=#10/19/2006 21:0:0#));


Query voor selecteren van parkeerders die er staan tussen 21 uur en 22 uur
code:
1
SELECT Count(*) AS aantal FROM ParkeerHistorie WHERE (((ParkeerHistorie.StartTijd)>=#10/19/2006 21:0:0#) AND ((ParkeerHistorie.EindTijd)<=#10/19/2006 21:59:59#));



Het volgende heb ik geprobeerd:
code:
1
SELECT Count(*) AS aantal FROM ParkeerHistorie WHERE (((ParkeerHistorie.StartTijd)<#10/19/2006 21:0:0#) AND ((ParkeerHistorie.EindTijd)>=#10/19/2006 21:0:0#) OR ((ParkeerHistorie.StartTijd)>=#10/19/2006 21:0:0#) AND ((ParkeerHistorie.EindTijd)<=#10/19/2006 21:59:59#));


Ik twijfel of het wel in 1 query kan. In MySQL zou het wel moeten werken ( Maar dan zonder de "( )" )

Ik krijg geen foutmeldingen maar het resultaat klopt gewoon niet.

Mijn vraag is dus: Hoe kan ik de twee losse queries het beste combineren zodat ik het juiste resultaat krijg.

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 12-02 17:25

spaceboy

Op grote hoogte

Als ik er logisch naar kijk snap ik het al niet.
De eerste query:

- iedereen die geparkeerd heeft die er voor 21:00 is gaan staan en na 21:00 is vertrokken
- iedereen die geparkeerd heeft die na 21:00 is gekomen en voor 22:00 is vertrokken

En die ga jij combineren? Vaag. Maar zal wel aan mij liggen.

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • Thomasje
  • Registratie: Augustus 2002
  • Laatst online: 29-05-2024
spaceboy schreef op zaterdag 21 oktober 2006 @ 20:39:
Als ik er logisch naar kijk snap ik het al niet.
De eerste query:

- iedereen die geparkeerd heeft die er voor 21:00 is gaan staan en na 21:00 is vertrokken
- iedereen die geparkeerd heeft die na 21:00 is gekomen en voor 22:00 is vertrokken

En die ga jij combineren? Vaag. Maar zal wel aan mij liggen.
Ik wil iedereen selecteren die er tussen 21:00 en 22:00 hebben gestaan. Ik heb twee verschillende omdat als bijv iemand om 21:00 is binnen gekomen en om 21:30 weg is gegaan de eerste query niet goed is.

  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Dus wat je wilt weten is:
1) Iemand is er gaan staan voor 22:00 uur
2) Iemand is vertrokken na 21:00 uur
3) De tijd dat iemand er is gaan staan is eerder dan dat ze zijn vertokken (is logisch maar voor de zekerheid)

Met bovenstaande regels kloppen de volgende opties:
20:30 aangekomen (regel 1)
21:15 weggegaan (regel 2)

21:10 aangekomen (regel 1)
21:45 weggegaan (regel 2)

21:30 aangekomen (regel 1)
22:15 weggegaan (regel2)

20:30 aangekomen (regel 1)
22:15 weggegaan (regel 2)

Het klopt niet voor de volgende opties:
20:15 aangekomen (regel 1)
20:45 weggegaan (FOUT regel 2)

22:10 aangekomen (FOUT regel 1)
22:35 weggegaan (regel 2)

21:15 aangekomen (regel 1)
21:10 weggegaan (regel 2)
FOUT regel 3

De query wordt dan:
SQL:
1
SELECT Count(*) AS aantal FROM ParkeerHistorie WHERE ParkeerHistorie.StartTijd<#10/19/2006 22:0:0# AND ParkeerHistorie.EindTijd>=#10/19/2006 21:0:0# AND ParkeerHistorie.StartTijd > ParkeerHistorie.EindTijd;

I'm not a complete idiot - several parts are missing.


  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 12-02 17:25

spaceboy

Op grote hoogte

Thomasje schreef op zaterdag 21 oktober 2006 @ 20:44:
[...]


Ik wil iedereen selecteren die er tussen 21:00 en 22:00 hebben gestaan. Ik heb twee verschillende omdat als bijv iemand om 21:00 is binnen gekomen en om 21:30 weg is gegaan de eerste query niet goed is.
Eh ja. Maar dan check je toch gewoon 1 ding:

Ligt de eindtijd tussen 21:00 en 22:00? (of what the hell boeit jou die fakking starttijd?) ;)

Niet zo moeilijk doen man. :*)

[ Voor 6% gewijzigd door spaceboy op 21-10-2006 21:28 ]

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
spaceboy schreef op zaterdag 21 oktober 2006 @ 21:27:
[...]

Eh ja. Maar dan check je toch gewoon 1 ding:

Ligt de eindtijd tussen 21:00 en 22:00? (of what the hell boeit jou die fakking starttijd?) ;)

Niet zo moeilijk doen man. :*)
Zie:
21:30 aangekomen (regel 1)
22:15 weggegaan (regel2)
In mijn voorbeeld. Dan heeft iemand ook geparkeerd tussen 21:00 en 22:00 terwijl de eindtijd wel na 22:00 is. Dus in jouw voorbeeld telt deze parkeer actie niet mee terwijl dit wel moet.

I'm not a complete idiot - several parts are missing.


  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 12-02 17:25

spaceboy

Op grote hoogte

WvdWest schreef op zaterdag 21 oktober 2006 @ 21:35:
[...]

Zie:
21:30 aangekomen (regel 1)
22:15 weggegaan (regel2)
In mijn voorbeeld. Dan heeft iemand ook geparkeerd tussen 21:00 en 22:00 terwijl de eindtijd wel na 22:00 is. Dus in jouw voorbeeld telt deze parkeer actie niet mee terwijl dit wel moet.
ah, ik ben uitgeluld, you're right... jouw oplossing is dan okay... :)

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • Thomasje
  • Registratie: Augustus 2002
  • Laatst online: 29-05-2024
WvdWest schreef op zaterdag 21 oktober 2006 @ 21:35:
[...]

Zie:
21:30 aangekomen (regel 1)
22:15 weggegaan (regel2)
In mijn voorbeeld. Dan heeft iemand ook geparkeerd tussen 21:00 en 22:00 terwijl de eindtijd wel na 22:00 is. Dus in jouw voorbeeld telt deze parkeer actie niet mee terwijl dit wel moet.
Thnx man, ik had het ook bijna.

Heb alleen volgende veranderd:

ParkeerHistorie.StartTijd > ParkeerHistorie.EindTijd;

Moet zijn:
ParkeerHistorie.StartTijd < ParkeerHistorie.EindTijd;

  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Thomasje schreef op zaterdag 21 oktober 2006 @ 21:38:
[...]


Thnx man, ik had het ook bijna.

Heb alleen volgende veranderd:

ParkeerHistorie.StartTijd > ParkeerHistorie.EindTijd;

Moet zijn:
ParkeerHistorie.StartTijd < ParkeerHistorie.EindTijd;
|:( Natuurlijk, foutje van mijn kant.

I'm not a complete idiot - several parts are missing.


  • Thomasje
  • Registratie: Augustus 2002
  • Laatst online: 29-05-2024
WvdWest schreef op zaterdag 21 oktober 2006 @ 21:42:
[...]

|:( Natuurlijk, foutje van mijn kant.
Maar nog erg bedankt!
Pagina: 1