mySQL BETWEEN zeigt nicht korrekten Bereich

Hallo Zusammen,

folgende Tabellen:

Posten
beleg_id artikel_id (zusammengesetzer Primärschlüssel) menge

Beleg
id praxis_id datum (type: TIMESTAMP)

folgende Abfrage:

SELECT p . * , b . *
FROM posten p
INNER JOIN beleg b ON p.beleg_id = b.id
AND b.datum
BETWEEN ‚2012-07-11‘
AND ‚2012-07-13‘

gibt ein leeres Ergbnis zurück.

Es gibt definitiv Datensätze die in den zeitlichen Bereich fallen und über
beleg.id => posten.beleg_id verbunden sind.

Wenn ich den zeitlichen Bereich auf z.B.:
BETWEEN ‚2012-01-11‘ AND ‚2012-07-13‘

erweitere bekomme ich Datensätze angezeigt. Muss ich für das Datum eine andere Formatierung nutzen? Oder hat sonst jemand eine Idee?

Hallo,

wenn der Zeitraum an sich Records liefert, kann es doch eifentlich nur noch an dem JOIN scheitern.
Geht es denn ohne JOIN ?

Mir ist durchaus klar, dass ohne JOIUN die beiden Tabellen nicht zu verbinden sind, es geht aber erst einmal darum zu sehen, dass der BETWEEN Records liefert, wenn man den auf die einzelnen Tabellen anwendet.

Wo probierst Du das SQL-Statement (PHP, phpMyAdmin) ?
Auf jeden Fall mal im phpMyAdmin testen.

Gruß aus München,
Frank

Blöde Sache: jetzt funzt es genau so wie ich es am Anfang geschrieben habe - die kleinen Mysterien der EDV :wink:

Ich danke euch für eure Antworten

hi,

ich habe mal schnell deine tabellen nachgebaut und dein statement getestet, es funktioniert.
bist du sicher dass wirklich einträge in dem angegebenen datumsbereich existieren?

cu
harald
***********************************

bin dzt auf Urlaub…