Onnistuukohan suoraan sql-kyselyllä, eli taulussa on vaikka seuraavat rivit:
tapahtuma, alkuaika, loppuaika
========= ======== =========
tapahtuma1, 10.00, 12.00
tapahtuma2, 11.30, 12.30
tapahtuma3, 13.00, 14.00
Haluttu tulos:
tapahtuma, alkuaika, loppuaika
========= ======== =========
tapahtuma1, 10.00, 12.30
tapahtuma3, 13.00, 14.00
Tapahtumien nimillä ei väliä, ne voidaan ajatella tässä kohtaa vaikka id:ksi.
Päällekkäisten ajanjaksojen yhdistäminen
7
742
Vastaukset
- Anonyymi
Onnistuu.
- Anonyymi
Ei onnistu.
- Anonyymi
Suoraan mysqli-queryllä tehtävä tuntuu hankalalta ellei jopa mahdottomalta, Mikäli tarvetta on paljon, niin kannattaa rakennella oma nettikalenteri.
https://tuuletus.net/kalenteri.php
Yllä mainittu on esimerkki miten varauskalenterin voi laittaa julki. Esimerkissä käytin kuvan mukaista ja kysymyksessä esittelemääsi varaustilannetta. - Anonyymi
Tuolta sivulta saattaa löytyä ratkaisu.
https://hoopercharles.wordpress.com/2009/12/08/sql-combining-over-lapping-date-rows/
Vaikka tuolla pelataan päivämäärillä, niin idea on sama.- Anonyymi
Päivän makeimmat naurut tuli kun tuota Charles Hooperin mittatilaustyötä luki. Saattoi harmittaa jos tilaaja ilmoitti että kertakäyttötarve oli eilen ja se saatiinkin tehtyä ruutupaperilla. Kohtalaisen paljon rivejä mokoman pikkujutun takia :D
- Anonyymi
Muutamalla sql-rivillä näyttäisi onnistuvan tuon tyyppisen ongelman ratkaisu.
https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=c9be3f243ac5f3d7f912d71a836b22ca
Ketjusta on poistettu 2 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Oletko kertonut jo muille tunteistasi?
Ystävillesi esimerkiksi? Minä en ole vielä kertonut kenellekään tästä meidän jutusta.774622- 1801897
- 1241600
- 1241125
Miten minusta tuntuu että kaikki tietää sun tunteista mua kohtaan
Paitsi suoraan minä itse, vai mitä hlvettiä täällä tapahtuu ja miksi ihmiset susta kyselee minulta 🤔❤️161081- 351036
- 78933
- 52896
Hyvää huomenta!
Mietin miten suhtaudut minuun, jos kerron tunteista. Voinko enää sen jälkeen olla samassa paikassa kanssasi, jos koet as78872- 4838