SQL BETWEEN (datums)
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)
1
2
3
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'
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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'
)
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 -
Dankje!
De OR kun je trouwens ook nog als IN() schrijven:
Dit levert minder problemen met haakjes op.
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
Edit: dit soort dingen moet gewoon even uittesten, dan weet je het meteen ;-)
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Jup, bedankt voor al jullie antwoorden. Weer wat geleerd. :)