Query mit LEFT JOIN will nicht so wie ich
Rainer
- datenbank
Hallo,
irgenwie bin ich heute neben mir. Habe folgende 2 Tabellen abzufragen.
Angezeigt sollen nur die Datensätze aus "bestellunglog" wenn in "bestellungstat" BStat = 0 ist.
bestellunglog bestellungstat
------------- --------------
BestNr BestNr
KNr BStat
Datum
$sql = "SELECT BestNr,KNr,Datum FROM bestellunglog AS p LEFT JOIN bestellungstat AS t ON p.BestNr = t.BestNr WHERE p.Datum >= '$jjjj-$mm-$tt 00:00:00' AND p.Datum <= '$jjjj2-$mm2-$tt2 23:59:59' AND t.BStat = '0'";
Die Query funktioniert nicht. Weiss jemand warum?
Gruss Rainer
yo,
irgenwie bin ich heute neben mir.
es ist schließlich montag.
Die Query funktioniert nicht. Weiss jemand warum?
ich vermute mal, es geht du bekommst aber eine leere datenmenge zurück. da tippe ich mal auf deine datumseinschränkung, dass es dort keine zutreffenden datensätze gibt. mach doch mal eine abfrage ohne das "AND t.BStat = '0'" und schau, ob du dann datensätze bekommst.
Ilja
hallo Ilja,
wenn ich ohne join die bestellunglog abfrage - bei vorheriger Auswahl des Datumbereiches - bekomme ich Datensätze angezeigt. Aber eben ALLE aus dem Datumsbereich. Ich will aber nur die, welche in bestellunglog BStat = 0 sind.
Gruss Rainer
yo,
hast du dir den auch die spalte Bstat anzeigen lassen, wenn du nur die datumsangaben in der where klausel hast, ob da überhaupt ein wert 0 dabei ist ?
Ilja
Jepp,
halbes Stündchen Pause mit 'ner Tasse Kaffee hilft halt.
$sql = "SELECT bestellunglog.BestNr,bestellunglog.KNr,bestellunglog.Datum,bestellungstat.BStat FROM bestellunglog LEFT JOIN bestellungstat ON bestellunglog.BestNr = bestellungstat.BestNr WHERE bestellunglog.Datum >= '$jjjj-$mm-$tt 00:00:00' AND bestellunglog.Datum <= '$jjjj2-$mm2-$tt2 23:59:59' AND bestellungstat.BStat = '0'";
So geht's. Trotzdem Danke für die Antworten.
Gruss Rainer