complexe order query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# Developer

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Door middel van ASP.NET, MVC Framework en C# ga je webshops, websites en webapplicaties ontwikkelen. Je zorgt voor de optimalisatie van bestaande software en de automatisering van bedrijfsprocessen. Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Bedrijfsprofiel

Bekijk vacature »

Java Developer

Dit ga je doen Ontwerpen en bouwen van nieuwe functionaliteiten binnen de complexe omgeving; Proactief de processen kwalitatief en efficient inrichten; Opzetten van Unit Tests; Code Reviews; Regie nemen voor innovatieve projecten; Landschap beheren en de bijbehorende ketens hierbij in het oog houden. Hier ga je werken De organisatie is actief binnen de financiele branche en heeft een IT afdeling van circa 450 man. De organisatie voorziet de maatschappij binnen de financiele dienstverlening en is gedurende de jaren een onmisbare schakel geworden. Het is een high profile organisatie waar ze veel te maken hebben met veranderingen voortkomend uit maatschappelijke ontwikkelingen,

Bekijk vacature »

Front-end React developer

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van

Bekijk vacature »

Front End Ontwikkelaar (React)

In het kort Als front end developer ga je aan de slag met maatwerkprojecten voor onze klanten. Denk bijvoorbeeld aan het toevoegen van een machine aan een database of het corrigeren van formulieren voor ingestuurde orders. Voorbeeld van zo’n project is Smart Link. De projecten waar je op ingezet kunt worden liggen binnen het technische domein waar jij als front end developer een grote rol speelt om samen met je back end collega’s de juiste oplossingen te leveren. please note that this particular role requires fluent Dutch language skills. Dit vind je leuk om te doen Het omzetten van designs

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Senior Software developer PHP

Functie Jij als senior PHP ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 developers binnen onze organisatie Jij gaat de brug zijn tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je je taken op voor de dag. Een greep van jouw taken zijn: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden met Security & Privacy Eisen • Minimaal 4

Bekijk vacature »

SQL Database ontwikkelaar

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

Developer

Functie omschrijving Gaat jouw hart sneller kloppen van software developen in C#.NET? Voor een softwarebedrijf in regio Den Bosch zijn wij op zoek naar een C# programmeur. Lees snel verder! Wat ga je doen? Je gaat werken met C# en ASP.NET MVC Framework om onder meer webapplicaties, webshops en websites te ontwikkelen. Je optimaliseert de bestaande software en helpt mee aan het automatiseren van bedrijfsprocessen. Je gaat samen met je collega's de juiste oplossing op basis van de wensen van de klanten uitwerken tot een mooi product. Bedrijfsprofiel Het ontwikkelen van softwareoplossingen en kantoorautomatiseringen is waar dit bedrijf voor staat.

Bekijk vacature »

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

Bekijk vacature »

Laravel PHP developer in een jong team

Bedrijfsomschrijving Als je op zoek bent naar een werkplek waar plezier en uitdaging hand in hand gaan, dan is dit bedrijf de juiste keuze voor jou. Hier kun je werken aan uitdagende projecten en krijg je als developer veel verantwoordelijkheid. Het bedrijf waardeert kwaliteit boven kwantiteit en richt zich op het ontwikkelen van hoogwaardige applicaties en websites waar klanten enthousiast over zijn. Dit bedrijf is vooruitstrevend en streeft naar het leveren van de best mogelijke resultaten voor hun klanten. Als medior PHP ontwikkelaar met 3 jaar ervaring ben jij de persoon die we zoeken. Je krijgt hier de kans om

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in ons development team met twee andere .NET developers. Als team werken jullie in scrum en is er iedere ochtend om 11.00 een standup. Jij krijgt als junior .NET ontwikkelaar een inwerk traject dat echt specifiek wordt ingericht op basis van wat jij nodig hebt. Een van de grootste pluspunten bij ons is dat wij binnen ons bedrijf veel (technische) vrijheid geven en juist eigen initiatieven erg stimuleren. Jouw werkzaamheden gaan er bij ons als volgt uit zien: – Het ontwikkelen van nieuwe software samen met interne en eventueel externe ontwikkelaars; – Het

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

.NET Developer

Dit ga je doen Tot jouw takenpakket behoort onder andere: Webapplicaties ontwerpen, bouwen, testen en implementeren in .NET/C#.; Ontwikkelen, implementeren en beheren van maatwerkapplicaties; Onderhouden en beheren van standaardpakketten; Onderzoeken en beoordelen van nieuwe technieken. Hier ga je werken Als .NET ontwikkelaar kom je te werken bij een grote semioverheidsinstelling in Nijmegen. De organisatie staat garant voor het leveren van onderwijs en les- en onderzoeksmateriaal voor duizenden betrokkenen. De organisatie wil bijdragen aan een gezonde, vrije wereld met gelijke kansen voor iedereen. Binnen de teams hangt een open en collegiale cultuur met veel aandacht voor een prettige en sociale werksfeer.

Bekijk vacature »
Lars Anderson

Lars Anderson

20/01/2015 13:37:05
Quote Anchor link
Ik ben bezig aan een complexe query met 2 lagen 1 tot n relaties en daarnaast nog eens een laag 1 tot n relatie. Je moet je dit alsvolgt voorstellen.
Er is een order, aan deze order kunnen meerdere orderregels hangen (bijv. een t-shirt). Aan iedere orderregel kunnen vervolgens weer meerdere eigenschappen hangen (bijv. de kleur of maat van het shirt).
Daarnaast kunnen er nog 1 of meerder orderopties aan de order hangen (bijv. extra's bij de orders die niet op de orderregels thuis horen, maar waar wel een prijs aan hangt).

Nu heb ik het eerste stuk al wel rond gekregen middels subqueries.
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
20
21
22
23
24
25
26
27
SELECT
  `order_id`,
  `betaalmethode_prijs`,
  ... (etc.)
FROM
  orders
LEFT JOIN (
  SELECT
    `order_id`
    `order_regel_id`,
    `artikel_prijs`,
    ... (etc.)
  FROM
    order_regels
  LEFT JOIN (
   SELECT
     `order_regel_id`
     `order_regel_eigenchap`,
     `eigenschap_prijs`,
     ... (etc.)
   FROM
     order_regel_eigenschappen
  ) AS ore
  USING `order_regel_id`  
) AS or
USING `order_id`
GROUP BY `order_id`


M.b.v. SUM() krijg ik daar mooi het totaal van een order mee. Echter nu wil ik dus ook de zijtak toevoegen. Ik dacht dit te kunnen doen door simpelweg een extra LEFT JOIN toe te voegen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
LEFT JOIN (
  SELECT
    `order_id`,
    `order_optie_id`,
    ... (etc.)
  FROM
    order_opties
) AS oe
USING (`order_id`)


Wat er dan gebeurd is, dat de het totaalbedrag van alles orderopties wordt toegevoegd, maar dan vermenigvuldig met het aantal order regels.
Ik kan er maar niet achterkomen wat er nu fout gaat. Waarschijnlijk (hopelijk!) is het iets heel simpels dat ik over het hoofd zie.
Wie helpt mij het licht te zien ??? ;-)
Gewijzigd op 20/01/2015 13:38:07 door Lars Anderson
 
PHP hulp

PHP hulp

19/04/2024 06:32:04
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/01/2015 22:41:57
Quote Anchor link
>>
M.b.v. SUM() krijg ik daar mooi het totaal van een order mee.

Weet je dat zeker?

Je laat niet de gehele query zien, maar vanuit wat ik kan zien heb je een EAV probleem.

Als een orderregel meerdere eigenschappen heeft zal je hem altijd meerdere malen in je result krijgen.
 
Lars Anderson

Lars Anderson

21/01/2015 09:04:17
Quote Anchor link
Het is eigenlijk een uitbouw op een antwoord wat je me zelf gegeven hebt Ger ;-)
(http://www.phphulp.nl/php/forum/topic/sum-van-datediff-met-unique-idnummer/92914/)
Ik dacht het wat te versimpelen door een voorbeeld met orders te maken, maar wellicht heeft dat het alleen maar onduidelijker gemaakt.

Nog maar eens proberen dan.
Dit was jouw voorbeeld code:
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
20
21
22
23
24
25
26
27
28
SELECT
    SUM(fr.factuurprijs) omzet,
    SUM(fr.nights) aantal_nachten
FROM
    (SELECT
        t1_id,
        f.t1_price + SUM(ro.prijs_reservering) factuurprijs,
        SUM(ro.nachten) nights
    FROM
        facturen f
    JOIN
        (SELECT
            r.t1_id,
            t2_id,
            r.t2_price + COALESCE(SUM(o.t3_price),0) prijs_reservering,
            DATEDIFF(r.t2_end, r.t2_start) nachten
        FROM
            reserveringen r
        LEFT JOIN
            opties o
            USING (t2_id)
        GROUP BY
            r.t1_id,t2_id, nachten
        ) ro
        USING (t1_id)
    GROUP BY
        t1_id
    ) fr

Ik zou aan dit voorbeeld dus naast de geJOINde tabel "reserveringen" (met daarbinnen weer "opties") nog een extra tabel "products" willen toevoegen. Het uiteindelijk resultaat moet dan nog steeds de totaal factuurprijs worden (nu dus aangevuld met de totaalprijs van alle producten uit de separate tabel).

Ik heb het vooralsnog in PHP maar opgelost door een aparte query te gebruiken voor de producten (naast bovenstaande query). Dit betekent echter dat er net zo veel queries uitgevoerd worden als dat er facturen geselecteerd zijn. Dat is niet de ideale situatie. Ik zou het liefst allees in één query willen hebben.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

21/01/2015 14:21:57
Quote Anchor link
Je kan in een SELECT ook een subquery opnemen, deze moet dan wel maar één waarde teruggeven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
    .....
    JOIN
        (SELECT
            r.t1_id,
            t2_id,
            (SELECT SUM(product_price) FROM products p
                WHERE p.t1_id = r.t1_id) total_price,
            ......
 



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.