Mailinglisten-Archive |
Hallo, erstsmal dankeschoen an Stephan, mit Hilfe seines Tips habe ich es zumindest geschafft, eine Tabelle mit allen sich ueberlappenden Terminen zu bekommen. Schwierig war nur, dass ich einem den Start als Datetime hatte und die Dauer als int in Minuten. Ich habe jetzt folgende Abfrage: select vor1.id, vor2.id, vor1.datum, vor2.datum, vor1.dauer from vorgaenge as vor1 join vorgaenge as vor2 where week(vor1.datum)=week(now()) and to_days(vor1.datum)=to_days(vor2.datum) and and vor1.datum!=vor2.datum and ((to_days(vor1.datum)*24*60)+(hour(vor1.datum)*60)+minute(vor1.datum)+vor1.d auer)> (to_days(vor2.datum)*24*60)+(hour(vor2.datum)*60)+minute(vor2.datum) (to_days(vor1.datum)*24*60)+(hour(vor1.datum)*60)+minute(vor1.datum)< (to_days(vor2.datum)*24*60)+(hour(vor2.datum)*60)+minute(vor2.datum)+vor2.da uer; Das funktioniert ja schon ganz gut. Ich bin noch nicht ganz sicher mit SQL, aber mir ist es nicht gelungen, die Umrechnung des Datetime in Minuten in den SELECT Teil zu bekommen und dann eine Abfrage mit WHERE darauf zu machen (as dauer1 und dann dauer1+start1 o.ae. funktioniert nicht). Wie wuerdet ihr das optimieren ? Bzw. es ist leider noch nicht ganz das, was ich gesucht habe :-( Am besten waere eine Tabelle aller Termine, mit der jeweiligen Angabe, mit wievielen Terminen sich dieser ueberlappt. Aber ich habe keine Idee, wie man die SQL Query dafuer umformen muesste... Vielen Dank im voraus, Mit freundlichen Gruessen Ralf Ebert
php::bar PHP Wiki - Listenarchive