[mysql] Selecteer een range zonder tabel

Pagina: 1
Acties:

  • cyberstalker
  • Registratie: September 2005
  • Niet online

cyberstalker

Eersteklas beunhaas

Topicstarter
Ik ben bezig met de uitbreiding van mijn planningssysteem. In dit systeem zijn ook vaste shifts opgenomen, die iedere week terugkomen. Deze shifts zijn opgeslagen met het bijbehorende dagnummer (bijvoorbeeld 1 voor zondag, 2 voor maandag, etc...).

Nu wil ik een uitbreiding maken waarbij mensen zelf hun eigen agenda kunnen bekijken voor de hele maand. Ik vraag me af hoe ik die gegevens het beste uit MySQL kan halen.

De enige manier die ik kan bedenken is om de gegevens per week op te halen en met een UNION tot een resultset te maken. Zoiets bijvoorbeeld:
SQL:
1
2
3
4
5
6
7
8
SELECT
    ADDDATE(
            start_date(),
            (
                    planning_regular_shifts.day -
                    DAYOFWEEK(start_date()) + 7
            ) MOD 7
    )                    AS     DATE


En dan een UNION waarbij je 7, 14, 21 en 28 optelt bij start_date() om alle resultaten te krijgen. Dat is natuurlijk een beetje een knullige oplossing? Heeft iemand anders nog een goed idee hoe dat te doen?

Ik ontken het bestaan van IE.