Hallo,
In einer Tabelle speichere ich unter anderem einen Zeitraum mit "datum_von" und "datum_bis" (DATE). Die Tabelle beinhaltet auch noch eine Anzahl (Artikel/ INT).
Nun möchte ich prüfen, ob sich andere Datensätze mit dem ersteren Überschneiden. D.h. ich möchte prüfen, ob genug Artikel für den bestimmten Zeitraum vorhanden sind.
Mein Ansatz ist bis jetzt so, das ich den gewünschten Datensatz auslese und in der While-Schleife dann mit einer weiteren Query prüfe, ob andere Datensätze im gleichen Zeitraum vorhanden sind und zähle dann die Anzahl zusammen.
( mit Datum Between, etc.).
Meine Frage:
Lässt sich das mit einer Query lösen, ohne das in der while-schleife eine weitere Query gesetzt werden muss?
Die erste Query:
Bin für Tipps und Ansätze dankbar!
In einer Tabelle speichere ich unter anderem einen Zeitraum mit "datum_von" und "datum_bis" (DATE). Die Tabelle beinhaltet auch noch eine Anzahl (Artikel/ INT).
Nun möchte ich prüfen, ob sich andere Datensätze mit dem ersteren Überschneiden. D.h. ich möchte prüfen, ob genug Artikel für den bestimmten Zeitraum vorhanden sind.
Mein Ansatz ist bis jetzt so, das ich den gewünschten Datensatz auslese und in der While-Schleife dann mit einer weiteren Query prüfe, ob andere Datensätze im gleichen Zeitraum vorhanden sind und zähle dann die Anzahl zusammen.
( mit Datum Between, etc.).
Meine Frage:
Lässt sich das mit einer Query lösen, ohne das in der while-schleife eine weitere Query gesetzt werden muss?
Die erste Query:
Code:
$mysqli = "SELECT t1.anzahl * t2.anzahl AS anzahlArtikel, t3.artikelname, t4.event, t4.r_datumVon, t4.r_datumBis FROM dispo_event_instanz t1 INNER JOIN dispo_artikel2eventmaterial t2 ON t1.event_mat_id = t2.emat_id INNER JOIN dispo_artikel t3 ON t2.artikel_id = t3.id INNER JOIN dispo_events t4 ON t1.eventid = t4.eid WHERE t1.eventid = ".$sql->real_escape_string(eventid)." "; if( !$result = $sql->query( $mysqli ) ) echo $sql->error; while( $row = $result->fetch_object() ) { echo $row->event.' / ' .$row->artikelname.' / ' .$row->anzahlArtikel.'<br />'; }
Kommentar