SQL BETWEEN (datums)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels van K

Niels van K

23/11/2008 20:16:00
Quote Anchor link
Goedenavond,

Ik ben bezig met een query om alle transacties van een bepaalde datum tot een bepaalde datum te weergeven dmv. de BETWEEN functie, maar helaas krijg ik een verkeerde output (ik zie iets over het hoofd?)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT from_customer, to_customer, id, points, memo, type, DATE_FORMAT(transdate,'%d-%m-%Y') AS transd
FROM transactions
WHERE transdate BETWEEN '2008-11-01 0:00:00' AND '2008-11-29 0:00:00' AND from_customer = '221' OR to_customer = '221'


http://img395.imageshack.us/img395/8081/naamloosta9.jpg

Deze output krijg ik (2004?), iemand enig idee?

Bedankt,

Niels
 
PHP hulp

PHP hulp

05/01/2025 08:34:36
 
Frank -

Frank -

23/11/2008 20:22:00
Quote Anchor link
Haakjes ...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT
  from_customer,
  to_customer,
  id,
  points,
  memo, type,
  DATE_FORMAT(transdate,'%d-%m-%Y') AS transd
FROM
  transactions
WHERE
  DATE(transdate) BETWEEN '2008-11-01' AND '2008-11-29'
AND  
(
    from_customer = '221'
  OR
    to_customer = '221'
)

Nu wordt de OR correct uitgevoerd. Dus een geldige datum AND (x OR y)

PS. Wanneer je op datum zoekt, zoek dan op datum... Query even aangepast en DATE() erin gezet. Aangenomen dat je MySQL gebruikt.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Niels van K

Niels van K

23/11/2008 20:25:00
Quote Anchor link
Natuurlijk, vrij logisch, maar niet aangedacht! Stom stom stom..

Dankje!
 
Frank -

Frank -

23/11/2008 20:32:00
Quote Anchor link
Kwestie van je SQL netjes noteren, dan zie je dit soort fouten in 1 oogopslag.

De OR kun je trouwens ook nog als IN() schrijven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
AND
  '221' IN(from_customer, to_customer)

Dit levert minder problemen met haakjes op.
 
Niels van K

Niels van K

23/11/2008 20:34:00
Quote Anchor link
True, ik gebruik PHPdesigner, en soms gooi ik er wel eens die beautifuller overheen. Dan neemt hij de query mee.

Ik ga eens onderzoek doen naar die IN, whehe. :)

UPDATE: Een vervanger van de OR dus? (Kan bijvoorbeeld niet worden gebruikt als AND?: SELECT veld FROM tabel WHERE veld IN(veld1,veld2) )
Gewijzigd op 01/01/1970 01:00:00 door Niels van K
 
Jan Koehoorn

Jan Koehoorn

23/11/2008 20:48:00
Quote Anchor link
Die syntax is juist zo te zien.

Edit: dit soort dingen moet gewoon even uittesten, dan weet je het meteen ;-)
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Niels van K

Niels van K

23/11/2008 20:53:00
Quote Anchor link
Jup, bedankt voor al jullie antwoorden. Weer wat geleerd. :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.