Meerdere rijen datums genereren met mysql
geeft als resultaat 1 rij met de datum van volgende week:
Kan dit ook met bijvoorbeeld 4 rijen?
dus dat het resultaat iets wordt als:
Geef eens wat achtergrondinformatie over wat je wil doen
Gewijzigd op 13/02/2013 16:34:24 door Kris Peeters
Gewijzigd op 13/02/2013 17:06:47 door Frank Nietbelangrijk
Code (php)
1
2
3
4
2
3
4
SELECT
(INTERVAL 7 DAY + CURDATE()) AS volgede_week,
(INTERVAL 14 DAY + CURDATE()) AS de_week_er_na
...
(INTERVAL 7 DAY + CURDATE()) AS volgede_week,
(INTERVAL 14 DAY + CURDATE()) AS de_week_er_na
...
Gewijzigd op 13/02/2013 17:26:23 door Kris Peeters
Kris, dat is hem al is het in kolommen en niet in rijen, maar goed genoeg. Dank je!
... ja, daar dacht ik opeens ook aan.
Je kan het ook in rijen doen, maar daar zitten een aantal beperkingen en voorwaardes aan. Ik heb dat laatst eens voor iemand uitgewerkt, maar kan dat topic zo snel niet vinden. Anyway, als in kolommen goed genoeg is doe ik verder nu geen moeite, als je het echt in rijen wil hebben dan zal kan ik nog wel even verder zoeken naar de oplossing.
Dank je Erwin. Ik ga het eerst wel zo proberen en misschien leest iemand dit die wel het antwoord bij de hand heeft?
Code (php)
1
2
3
2
3
SELECT (CURRENT_DATE() + INTERVAL (6 - WEEKDAY(NOW())) DAY)
+ INTERVAL @num := @num + 1 WEEK sundays
FROM attrib, (SELECT @num := -1) u HAVING @num < 3
+ INTERVAL @num := @num + 1 WEEK sundays
FROM attrib, (SELECT @num := -1) u HAVING @num < 3
Attrib is in mijn db een tabel met voldoende records, maar gebruik dit alleen als je dit wilt combineren met een join op een andere tabel, anders kan je het net zo goed in PHP doen.
Gewijzigd op 13/02/2013 21:02:05 door Ger van Steenderen
Iedereen Hartelijk bedankt. Ik denk dat Jan zijn oplossing voor mij het handigst is.
Let er wel op dat als je dat in een subquery gebruikt je dan aliast.
Ger van Steenderen op 13/02/2013 20:59:19:
Attrib is in mijn db een tabel met voldoende records, maar gebruik dit alleen als je dit wilt combineren met een join op een andere tabel, anders kan je het net zo goed in PHP doen.
Code (php)
1
2
3
2
3
SELECT (CURRENT_DATE() + INTERVAL (6 - WEEKDAY(NOW())) DAY)
+ INTERVAL @num := @num + 1 WEEK sundays
FROM attrib, (SELECT @num := -1) u HAVING @num < 3
+ INTERVAL @num := @num + 1 WEEK sundays
FROM attrib, (SELECT @num := -1) u HAVING @num < 3
Attrib is in mijn db een tabel met voldoende records, maar gebruik dit alleen als je dit wilt combineren met een join op een andere tabel, anders kan je het net zo goed in PHP doen.
Ger wat ik eigenlijk zocht is een query die (zonder dat er ook maar een tabel bij komt kijken / of ook op een lege tabel werkt) gewoon de datums op somt van de komende X aantal zondagen.
Reden hiertoe: dan ben je onafhankelijk van de php versie die op de server draait. zoals je misschien wel weet zijn een aantal datum functies pas beschikbaar vanaf php 5.2 / 5.3. Jij zou dit (met al je sql knowhow) toch met PHP doen?
Gewijzigd op 14/02/2013 17:14:43 door Frank Nietbelangrijk
Ik gebruik dus nog de normale date functies, en daar kan je ook vrij eenvoudig dagen, weken etc. mee uitrekenen.
Dus ja, ik doe dat bij voorkeur in PHP, tenzij ik het verder op in de query weer nodig heb.
Blij dat ik kon helpen. vooral na de vele hulp dat ik al heb gekregen :)