Date range test

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior .NET developer

Functie Als junior .NET Core developer wordt jij onderdeel van ons team met drie breed ontwikkelde software engineers en een flexibele schil met zes ervaren freelancers. Jij gaat mee in de visie van onze organisatie om als IoT partner in deze branche specifieke markt “het” platform te blijven innoveren en deze ook steeds slimmer te maken. Wij hopen dan ook zeker dit in de toekomst te kunnen realiseren met bijvoorbeeld Artificial Intelligence. De architectuur van ons platform is opgemaakt uit een deel eigen protocol, een interface laag en een laag welke de protocollen van derde partijen vertaald naar het eigen

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

Front-end developer wanted! (Angular, React, Vue.j

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

Bekijk vacature »

Front-End Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Front-End Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

Bekijk vacature »

Lead Fullstack developer

Functie omschrijving Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Wij zijn op zoek naar een full stack developer die zich bezig wil bezig houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator door middel van

Bekijk vacature »

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

Bekijk vacature »

Senior Mobile Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Mobile Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Software ontwikkelaar

Ben jij graag bezig met verschillende projecten? Vind jij beleving van klanten én medewerkers ook belangrijk? Wij zijn vanwege de doorontwikkeling van het applicatielandschap van onze opdrachtgever op zoek naar een fulltime software ontwikkelaar. Omschrijving Jij en jouw collega’s zijn verantwoordelijk voor de continuïteit en waarborging van het applicatielandschap. Om de processen vloeiend te laten verlopen is software ontwikkeling daarom van essentieel belang. Onze opdrachtgever doet dit voornamelijk zelf, met door hun eigen ontwikkelde applicaties. Dit betekent dat jij: functionele eisen vertaalt naar gebruiksvriendelijke software; tijdens SCRUM sessies advies geeft over het te bouwen ontwerp; nieuwe software ontwikkelt en het

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Onderdelen van jouw functie: Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook

Bekijk vacature »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Pagina: « vorige 1 2

Lars Anderson

Lars Anderson

18/12/2012 20:24:11
Quote Anchor link
Erwin,

Kun je wellicht een dumpje van je testdatabase posten, want ik krijg het op mijn database niet voor elkaar om er iets zinnigs uit te krijgen. Het helpt wellicht ook niet echt dat ik niet precies snap wat ik aan het doen ben.

Alvast bedankt.
Gewijzigd op 18/12/2012 20:24:28 door Lars Anderson
 
PHP hulp

PHP hulp

08/05/2024 19:14:34
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

18/12/2012 20:50:30
Quote Anchor link
Lars, (ik hoop dat Erwin het niet erg vindt als ik me er ook mee bemoei)
De tabel numbers die Erwin gebruikt heeft ie nu speciaal aangemaakt, maar kan in principe elke tabel in je database zijn, zolang deze maar voldoende records heeft. Er gebeurd gebeurt verder niks met die gegevens, maar wordt alleen gebruikt om die date range samen te stellen.

Een ander addertje onder het gras is het werken met uservars (de @...), ik was even wat aan het vogelen met de query en dan blijkt toch maar weer eens dat uservars in mysql vreemd gedrag vertonen. In dit geval overigens wel te overzien door <= in < te veranderen in de HAVING.

Overigens blijft het wel zo, al zou je elke dag een kamer vrij hebben dat dit niet per definitie dezelfde kamer is. Dus is mijn vraag kunnen gasten een specifieke kamer kiezen?
Gewijzigd op 18/12/2012 20:56:20 door Ger van Steenderen
 
Lars Anderson

Lars Anderson

18/12/2012 20:55:12
Quote Anchor link
Nee dat kunnen ze niet. En het is in principe geen probleem om met kamernummers te schuiven.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

18/12/2012 21:02:06
Quote Anchor link
Aha oké, waarom maak je het jezelf dan zo moeilijk door achteraf het kamernummer toe te wijzen?
 
Lars Anderson

Lars Anderson

18/12/2012 21:02:15
Quote Anchor link
Ger van Steenderen op 18/12/2012 17:09:47:
Het punt is dat je anders telkens een tempory table moet gaan maken en daarin de datums te inserten .
Normaal gesproken ben ik ook geen voorstander van zo'n nutteloze tabel, maar of het één er met datums is of met nummers maakt ook niet zoveel uit. Overigens kan jou stukje subquery iets makkelijker:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT
    @startdate := @startdate + INTERVAL 1 DAY AS datum
FROM
    numbers,
    (SELECT @startdate := '2012-12-17') uvar
HAVING @startdate <= '2012-12-24'


Als ik deze query gebruik dan krijg ik de datums 2012-12-18 tot en met 2012-12-25 i.p.v. 2012-12-17 tot en met 2012-12-24


Toevoeging op 18/12/2012 21:03:21:

Ger van Steenderen op 18/12/2012 21:02:06:
Aha oké, waarom maak je het jezelf dan zo moeilijk door achteraf het kamernummer toe te wijzen?


Omdat het ook een beheersysteem moet worden en er wel zoveel mogelijk aan eventuele wensen tegemoet gekomen moet kunnen worden.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

18/12/2012 21:37:09
Quote Anchor link
Lars Anderson op 18/12/2012 21:02:15:
Als ik deze query gebruik dan krijg ik de datums 2012-12-18 tot en met 2012-12-25 i.p.v. 2012-12-17 tot en met 2012-12-24

Klopt, zie mijn eerdere opmerking over uservars. Omdat je in de SELECT 1 dag bij de startdatum op telt moet je deze een dag vroeger zetten dan de werkelijke startdatum. Dat er een dag extra bij komt is een mysql kwaaltje, maar op te lossen door de einddatum ook een dag vroeger te zetten of door < te gebruiken ipv <=

Lars Anderson op 18/12/2012 21:02:15:
Omdat het ook een beheersysteem moet worden en er wel zoveel mogelijk aan eventuele wensen tegemoet gekomen moet kunnen worden.

Met andere woorden, gasten kunnen een voorkeur hebben maar dat is alleen als die kamer dan ook daadwerkelijk vrij is.
Wat je kunt doen is dan de eerst beschikbare kamer aan te wijzen als gasten geen voorkeur hebben, en daarvoor een extra kolom aan te maken zodat je achteraf nog kunt schuiven. Leuke uitdaging trouwens.
 
Erwin H

Erwin H

18/12/2012 22:03:59
Quote Anchor link
Mijn test database is werkelijk erg simpel. Dit is de tabel met de reserveringen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
+----+------------+------------+
| id | aankomst   | vertrek    |
+----+------------+------------+
| 11 | 2013-01-01 | 2013-01-02 |
| 12 | 2013-01-07 | 2013-01-19 |
| 13 | 2013-01-01 | 2013-01-06 |
| 14 | 2013-01-10 | 2013-01-23 |
| 15 | 2013-01-04 | 2013-01-09 |
+----+------------+------------+

En zoals Ger al zegt is de tabel numbers niets meer dan een 'dummy' tabel. In mijn geval als test (met nog wat meer rijen, maar je begrijpt het nu wel):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
+------+
| i    |
+------+
|    0 |
|    0 |
+------+

Als ik dan de eerder genoemde query run krijg ik deze resultaten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
+-------------+---------------+
| count(a.id) | date_sequence |
+-------------+---------------+
|           2 | 2013-01-01    |
|           1 | 2013-01-02    |
|           1 | 2013-01-03    |
|           2 | 2013-01-04    |
|           2 | 2013-01-05    |
|           1 | 2013-01-06    |
|           2 | 2013-01-07    |
|           2 | 2013-01-08    |
|           1 | 2013-01-09    |
|           2 | 2013-01-10    |
|           2 | 2013-01-11    |
|           2 | 2013-01-12    |
|           2 | 2013-01-13    |
|           2 | 2013-01-14    |
+-------------+---------------+


Overigens zag ik nu wel wat Ger bedoelde met die aanpassing in de HAVING clause. Dat moet inderdaad een < teken zijn in plaats van <=. Dat was me eerder niet opgevallen, dus zeker geen probleem dat je er nog even tussen kwam Ger.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

18/12/2012 22:39:06
Quote Anchor link
Gelukkig maar ;-)
Alleen gebruik ik een OUTER JOIN (in jouw situatie een right) zodat je ook de datums waarop geen kamer gereserveerd is meekrijgt.
 
Erwin H

Erwin H

18/12/2012 22:42:22
Quote Anchor link
Je hebt helemaal gelijk. Daar dacht ik eerder nog aan, maar uit mijn test leek alles toch wel te komen.... ware het niet dat elke dag minimaal 1 kamer gereserveerd is, dus die test was daar niet heel erg geschikt voor.
Aan de andere kant, voor de specifieke vraag maakt het niet uit. Wat hij wil weten is of er een dag is waarop alle kamers zijn gereserveerd. Hij wil dus het maximum hebben en alle nullen zouden dus in feite weggelaten kunnen worden.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

19/12/2012 09:25:11
Quote Anchor link
Dat is ook weer zo.
@Lars
Dus om te weten of in een bepaalde periode een kamertype niet beschikbaar is, kan dan een HAVING COUNT(id)=2 aan de GROUP BY worden toegevoegd.
Krijg je rijen terug uit de query is een kamertype niet beschikbaar.
 
Lars Anderson

Lars Anderson

04/01/2013 14:41:16
Quote Anchor link
Na veel gedoe is het me eindelijk gelukt om jullie voorbeelden te begrijpen. Ik heb nu twee mogelijk opties:

Optie 1:
Geeft het maximaal aantal boekingen op een dag binnen de gekozen periode weer. Deze kan ik dan vervolgens vergelijken met de het aantal beschikbare kamers.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
SET @num = -1;
SELECT MAX(c) AS max_occupied
FROM (
  SELECT count(a.id) as c, b.date_sequence
  FROM booking a
  INNER JOIN (
    SELECT DATE_ADD( '2013-01-01', interval @num := @num+1 day) AS date_sequence
    FROM numbers
    HAVING DATE_ADD('2013-01-01', interval @num day) <= '2013-01-14'
  ) b
  ON (
    a.aankomst <= b.date_sequence
    AND vertrek > b.date_sequence  
  )
  GROUP BY b.date_sequence
)
as
d
?>


Optie 2:
Geeft de dagen weer waarop er $max_rooms of meer kamers (in geval van handmatige overboekingen) gereserveerd zijn. Wanneer deze query GEEN resultaat heeft zijn er nog kamers beschikbaar. >1 resultaten betekent dat een reservering niet mogelijk is in de gekozen periode omdat er op minimaal 1 dag van de gekozen periode te weinig kamers beschikbaar zijn.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
SET @num = -1;
SELECT count(a.id) as c, b.date_sequence
FROM booking a
INNER JOIN (
  SELECT DATE_ADD( '2013-01-01', interval @num := @num+1 day) AS date_sequence
  FROM numbers
  HAVING DATE_ADD('2013-01-01', interval @num day) <= '2013-01-14'
) b
ON (
  a.aankomst <= b.date_sequence
  AND vertrek > b.date_sequence  
)
GROUP BY b.date_sequence
HAVING COUNT(id) >= " . $max_rooms . "
?>


Hebben jullie nog een voorkeur voor welke methode ik het beste kan gebruiken. Of is het om het even?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

04/01/2013 15:40:30
Quote Anchor link
De tweede methode lijkt mij veruit het makkelijkste, omdat je dan alleen hoeft controleren of je resultaat terug krijgt (of niet)
 
Lars Anderson

Lars Anderson

07/01/2013 15:18:23
Quote Anchor link
Dit leek mij inderdaad ook. Bij ander inzien heb ik toch besloten om de eerste optie te pakken omdat dit mij namelijk makkelijker in staat stelt om makkelijk aan te geven hoeveel kamers er nog beschikbaar zijn.

Nogmaals bedankt voor alle hulp.
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.