Rainer: Query mit LEFT JOIN will nicht so wie ich

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

  1. 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

    1. 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

      1. 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

  2. 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