Pit: mysql: Designfrage / nochmal eine Rückfrage

Beitrag lesen

Hi dedlfix,

Du kannst aus einer Datenbank mit einfacher Abfrage (also ohne zusätzliche Programmierlogik) immer nur das herausholen, was drinsteht.

Klar. Aber SQL hat ja eine Unmenge an Programmierlogig bereits integriert.

In der vorhergehenden Antwort habe ich noch den Fall übersehen, dass der Terminzeitraum vor dem Abfragezeitraum beginnt und danach endet. Das müsste noch ergänzt werden.

Hatte ich geahnt, daher mein User 4. 😉 Kannst Du mir sagen, wie ich das ergänzen muß?

Es bleibt aber, dass du diese Abfrage prinzipiell verwenden kannst, um Einträge zu finden, die mindestens teilweise im Abfragezeitraum liegen. Die Ergebnismenge besteht also aus diesen Datensätzen, die nur jeweils die Werte A und B enthalten. Den Rest müsste dann das abfragende Programm ermitteln. In dem würde ich über den Abfragezeitraum iterieren, beispielsweise mit PHPs DatePeriod-Klasse. Zu jedem dieser Tage müsste nun geprüft werden, ob A kleiner/gleich und B größer/gleich ist, um zu ermitteln, ob er für die Ausgabe relevant ist.

Ich verstehe das nicht. ich verstehe es soweit, dass meine Ergebnismenge größer ist und über php dann auf die korrekte menge begrenzt wird. Mal eine Frage: Könnte das nicht dann sogar performanter sein, jedes "Tabellenfeld" selber abzufragen (ggf. über prepared Statement)? Unkomplizierter scheint mir das auf jeden Fall zu sein.

Pit