Subqueries wegwerken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je werkt mee aan de migratie naar .NET 6; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Zij zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Amersfoort gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

C# .NET Developer IoT SQL Server

Samengevat: Wij ontwikkelen innovatieve oplossingen om apparaten en bezittingen op een eenvoudige en flexibele manier te beveiligen. Ben jij een C# .NET developer? Heb jij ervaring met C# en SQL server? Vaste baan: C# .NET Developer IoT HBO €3.200 - €4.500 Deze werkgever is gespecialiseerd in hoogwaardige GSM/GPRS alarm- en telemetrietechnologie. Met een eigen productlijn en klantspecifieke ontwikkelingen biedt deze werkgever oplossingen om op afstand te meten, melden, loggen en aansturen, ook op plaatsen zonder stroomvoorziening. Onze producten worden gekarakteriseerd door flexibiliteit in de configuratie, betrouwbaarheid en een extreem laag stroomverbruik. Zij werken voor MKB klanten. Deze werkgever heeft veel

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

Technisch Applicatie ontwikkelaar

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! In deze functie werk jij voornamelijk aan: Het onderhouden en ontwikkelen van de IT systemen; Het opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werk je aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkel en implementeren je MS PowerApps en Power BI. Bedrijfsprofiel Je komt terecht bij een familiair

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 13382 Introductie We is looking for a HANA Developer to work for our client. The candidate has to have an experience in building Data Intensive Applications (DIA’s). The role of a HANA Developer at ASML involves working on building Data Intensive Applications in an industrial/enterprise environment. The primary responsibility is to handle data from various sources and determine the best way to structure it for use by data analysts, who will run queries and algorithms against it for predictive and prescriptive analytics through machine learning. Wat verwachten we van jou?

Bekijk vacature »

Medior .NET developer

Functie Jij gaat als Medior .NET ontwikkelaar aan de slag in ons scrumteam met 6 developers die gepassioneerd en actief bezig zijn om onze spelers kwalitatieve en mooie spelervaringen aan te bieden. Als medior .NET developer ga jij werken aan een technisch hoogwaardig platform welke bezoekerspieken verwerkt van tienduizenden tot honderdduizenden gebruikers per minuut! Ons scrumteam werkt in drie wekelijkse sprints en wij beginnen iedere ochtend met een stand-up. Jij werkt bij ons met C# .NET, .NET Core, React.JS, Xamarin, Azure, Docker en Kubernetes. Wij hechten enorm veel waarde aan het leveren van hoogwaardige en kwalitatieve code. Zodra jij de

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Utrecht, die jou tot een volwaardig Fullstack Software Developer gaat opleiden. Binnen deze grote organisatie krijg je ruime en professionele trainingen die jouw in korte tijd vakbekwaam maken. Niet alleen het aan technisch aspect, maar ook zeker jouw persoonlijke ontwikkeling wordt veel

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar start jij in een multidisciplinair team met 7 ontwikkelaars. Dit team is verdeeld onder Front-end ontwikkelaars en backend developers. De backend developers werken voornamelijk aan desktop applicaties in combinatie met backend systemen. Hier ga jij dus ook mee aan de slag! Hierbij wordt voornamelijk gebruik gemaakt van C# .NET, WPF, UWP, XAML en MVVM. WPF, UWP, .NET Core, Azure Devops en Entity Framework. WPF en UWP worden dan ook voornamelijk gebruikt voor de user interface van de desktop applicatie. Het development team is dan ook erg gedreven m.b.t. het ontwikkelen van vooruitstrevende en innovatieve horeca automatiseringsoplossingen.

Bekijk vacature »

Cloud Developer

Cloud Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Software Developer Java

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Capelle ad Ijssel Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Een deel van jouw werkzaamheden: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps en Power BI.

Bekijk vacature »
Jelmer -

Jelmer -

13/06/2009 17:50:00
Quote Anchor link
Kleine uitdaging: Kan ik de twee subqueries met MIN en MAX omschrijven in JOINS? Volgens mij weerhouden deze dependant subqueries mij van toegant tot de query cache van mysql :)

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
29
30
31
32
33
34
35
36
37
38
39
SELECT
    t.id,
    t.title,
    t.locked_on,
    t.locked_by_user_id,
    t.deleted_on,
    t.deleted_by_user_id,
    f_p.user_id as creating_user_id,
    f_p.created_on as created_on,
    l_p.user_id as last_replying_user_id,
    l_p.created_on as last_replied_on,
    COUNT(p_c.id) as post_count
FROM
    topics as t
INNER JOIN posts as f_p_r ON
    f_p_r.id = (SELECT MIN(id) FROM posts WHERE posts.topic_id = t.id)
INNER JOIN post_versions as f_p ON
    f_p.id = (SELECT MIN(id) FROM post_versions WHERE post_id = f_p_r.id)
INNER JOIN posts as l_p_r ON
    l_p_r.id = (SELECT MAX(id) FROM posts WHERE posts.topic_id = t.id)
INNER JOIN post_versions as l_p ON
    l_p.id = (SELECT MAX(id) from post_versions WHERE post_id = l_p_r.id)
LEFT JOIN posts as p_c ON
    p_c.topic_id = t.id
WHERE
    t.deleted_on IS NULL
GROUP BY
    t.id,
    t.title,
    t.locked_on,
    t.locked_by_user_id,
    t.deleted_on,
    t.deleted_by_user_id,
    f_p.user_id,
    f_p.created_on,
    l_p.user_id,
    l_p.created_on
ORDER BY
    last_replied_on DESC


Kleine uitleg over de structuur:
Ieder topic heeft posts (tabel: posts) Iedere post heeft versies (tabel: post_versions) en de eigenaar van een topic is de schrijver van de eerste post-versie, net als dat de laatst reagerende de schrijver van de laatste versie van een van de posts in het topic is. Hetzelfde geldt voor de starttijd en laatste-reactie tijd.

De tabel posts is eigenlijk een beetje vreemd. Het zorgt ervoor dat iedere unieke post zeg maar bij één topic hoort, en alle post_versions verwijzen weer terug naar deze unieke post. Maar meer staat er niet in. Echter, op zich wil ik hier later misschien nog wel dingen bij stoppen zoals de rechten wie revisies op deze post mag schrijven. [del]Daarnaast is hij nodig om m'n foreign keys in bedwang te houden.[/de] dat is niet waar. Maar ik gebruik het post_id wel om bijvoorbeeld tags aan te koppelen, en de AUTO_INCREMENT & PK geven mij een mooi uniek nummertje daarvoor.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
PHP hulp

PHP hulp

23/04/2024 17:49:53
 
Jesper Diovo

Jesper Diovo

13/06/2009 17:57:00
Quote Anchor link
En je kunt het niet versimpelen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
INNER JOIN posts AS f_p_r ON
  f_p_r.id = MIN(f_p_r.id) AND
  f_p_r.topic_id = t.id
INNER JOIN post_versions AS f_p ON
  f_p.id = MIN(f_p.id) AND
  post_id = f_p_r.id
// etc. etc.
 
Jelmer -

Jelmer -

13/06/2009 18:27:00
Quote Anchor link
Je kan group functions niet op die manier gebruiken. Wat is immers het minimum van f_p_r wanneer je nog aan het bepalen bent welke rows je allemaal in f_p_r wilt hebben?

Ik vat het idee, en als je het volgens mij goed zou uitwerken kom je op dit:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
SELECT
    t.id,
    t.title,
    t.locked_on,
    t.locked_by_user_id,
    t.deleted_on,
    t.deleted_by_user_id,
    f_p.user_id as creating_user_id,
    f_p.created_on as created_on,
    l_p.user_id as last_replying_user_id,
    l_p.created_on as last_replied_on,
    COUNT(p_c.id) as post_count
FROM
    topics as t
LEFT JOIN posts as a_p ON
    a_p.topic_id = t.id
INNER JOIN posts as f_p_r ON
    f_p_r.id = MIN(a_p.id)
INNER JOIN post_versions as f_p ON
    f_p.id = (SELECT MIN(id) FROM post_versions WHERE post_id = f_p_r.id)
INNER JOIN posts as l_p_r ON
    l_p_r.id = MAX(a_p.id)
INNER JOIN post_versions as l_p ON
    l_p.id = (SELECT MAX(id) from post_versions WHERE post_id = l_p_r.id)
LEFT JOIN posts as p_c ON
    p_c.topic_id = t.id
WHERE
    t.deleted_on IS NULL
GROUP BY
    t.id,
    t.title,
    t.locked_on,
    t.locked_by_user_id,
    t.deleted_on,
    t.deleted_by_user_id,
    f_p.user_id,
    f_p.created_on,
    l_p.user_id,
    l_p.created_on
ORDER BY
    last_replied_on DESC

Je selecteert eerst alle posts die bij het topic horen, en pakt dan de eerste en laatste. Maar je kan MIN en MAX op dat moment, tijdens het selecteren en combineren van je rows nog niet gebruiken.

Een andere oplossing waar ik aan denk is om alles bij elkaar te joinen, en dan met order by de goeie rows in de juiste positie te schuiven, zodat het eerste resultaat van de query is wat ik nodig heb. Die zou je er dan af kunnen schuiven met LIMIT 1, ware het niet dat ik dit voor alle (of een setje) topics wil ophalen. En het is langzamer wss, omdat hij onnodig (heel veel onnodig) veel JOINS moet uitvoeren en rows moet bedenken.

edit: het probleem is zeg maar dat ik niet alleen de waarde van MIN(x) wil hebben, ik wil twee waarden hebben uit de row waarbij x het laagste is.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 



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.