Aber hallo, natürlich ist das ein reines SQL Problem
Das fängt schon beim SQL Modell an.
Ich nehme jetzt mal an das du für jedes Event / Konferenz Type, wie auch immer eine Extra Tabelle machst. Das heißt für mich du brauchst Eigentlich eine Referenz Tabelle.
Notfalls kannst du das auch so machen. (Nicht getestet frei...)
Code:
START TRANSACTION;
SET @current := NOW();
SET @stamp := DATE_ADD(@current, Interval 3 month );
SELECT DISTINCT ROW
a.*, b.*, c.*
FROM tabelle_a AS a
LEFT JOIN tabelle_b AS b
LEFT JOIN tabelle_c AS c
WHERE (
( a.datum > @current AND a.datum < @stamp )
OR ( b.datum > @current AND b.datum < @stamp )
OR ( c.datum > @current AND c.datum < @stamp )
)
ORDER BY a.datum, b.datum, c.datum ASC LIMIT 3;
COMMIT;
Die SQL wird bei den ersten 3 treffern beendet.
Lesezeichen