Distinct Query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

JAVA Programmeur

Bedrijfsomschrijving Functieomschrijving We zoeken per direct enthousiaste software engineers die ons team komen versterken.We werken in DevOps teams met een sterk gevoel voor verantwoordelijkheid. Er wordt nauw samengewerkt met ons Business analyse team (BAT), met onze uitvoerende medewerkers en met de DevOps teams onderling binnen het domein. Het liefst hebben we veel en vaak interactie met onze interne en externe eindgebruikers om zo de juiste dingen te maken. We werken multidisciplinair in een dynamische omgeving. Achtergrond opdracht De Businesseenheid Examens is verantwoordelijk voor de logistiek van de staatsexamens Voortgezet (speciaal) onderwijs, Nederlands als 2e taal en schoolexamens. In het kader

Bekijk vacature »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Medior/senior Front-end developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Low Code Developer voor o.a. overheidsprojecten!

Bedrijfsomschrijving Wil jij ook behoren tot de specialist in Low Code? Dan zou ik zeker aanraden om verder te lezen. Deze organisatie is ooit opgericht door twee studenten en is inmiddels uitgegroeid tot een serieuze werkgever met een groot aanzien op Low Code projecten. De sfeer is echter niet veranderd, er heerst een informele sfeer met een open deuren beleid, en hierin mag de eigen bar natuurlijk niet ontbreken. Momenteel maakt deze organisatie een flinke groei door en hier kan jij natuurlijk niet bij ontbreken. Daarom ben ik op zoek naar Low Code Developers met een degelijke technische achtergrond. Kennis

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Database developer - SQL

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je sluit aan bij meetings en brengt het gehele logistieke proces in kaart. Vervolgens ga je als lead developer aan de slag om de klus te klaren. Je stuurt het junior developer team en helpt, zo nodig,

Bekijk vacature »

PHP developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

C# developer

Functie Als C# ontwikkelaar ben jij de spin in het web bij deze organisatie. Jij begeleidt en traint de field engineers die bij de klanten machines leveren en installeren. Daarnaast ondersteun jij de field engineers als zij bij de klant vastlopen bij het installeren van de machine m.b.t. software matige vragen. Jouw doel is dan ook om de technische kennis van de field engineers door middel van training zoveel mogelijk uit te breiden. Dit om ervoor te zorgen dat zij zelfstandiger software matige problemen kunnen oplossen. Ook ben jij verantwoordelijk voor het bedenken van software oplossingen voor klanten en dit

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 »

Medior/senior Fullstack developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net 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. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

C#.NET ontwikkelaar

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: 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. Je bouwt webshops, webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Framework en C#. Je zorgt voor de optimalisering van bestaande software en de automatisering van

Bekijk vacature »
Wim

Wim

14/02/2007 14:12:00
Quote Anchor link
Ik heb de volgende query:
SELECT DISTINCT(persnr), werknr, SUM(o100) as o100, SUM(o125) as o125, SUM(o150) as o150, SUM(o200) as o200, SUM(tvt) as tvt, SUM(vrij) as vrij, SUM(bijz_verlof) as bijz_verlof, SUM(ziekte) as ziekte, lc_bv FROM uren WHERE MONTH(uren.datum)='$_POST[maand]' AND YEAR(uren.datum)='$_POST[jaar]' GROUP BY werknr ORDER BY persnr,datum;

Op zich werkte deze query prima, echter, door een aanpassing moet ik hem wijzigen, maar ik krijg het niet voor elkaar om hem correct te wijzigen.
Eenvoudig gezegd, maar niet mogelijk, zou ik eigenlijk een distinct(persnr,lc_bv) moeten doen, maar distinct accepteert maar 1 veld.

Met de query, krijg ik per persnr de verschillende totalen van de andere velden. Echter, door een aanpassing moet ik nu de verschillende totalen van de andere velden per persnr hebben en dan ook nog eens per lc_bv.

Het is wat moeilijk uitleggen, maar hopelijk begrijpt iemand wat ik bedoel. :P
 
PHP hulp

PHP hulp

22/12/2024 14:37:41
 
Marvin S

Marvin S

14/02/2007 15:05:00
Quote Anchor link
een subquery maken
kzal ff probere te puzzelen
 
Marvin S

Marvin S

14/02/2007 15:16:00
Quote Anchor link
hoe moet ik me dit voor gaan stellen?
is lc_bv een getal of??
geef de opbouw van je tabel is..
misschien is er iets veel makkelijkers
 
Klaasjan Boven

Klaasjan Boven

14/02/2007 15:28:00
Quote Anchor link
SUM(o100) as o100 dat is natuurlijk niet zo handig doe dan iets als

totaal_o100
 
Wim

Wim

14/02/2007 15:33:00
Quote Anchor link
@Marvin
lc_bv is een getal idd.
Dit is de tabel:

CREATE TABLE `uren` (
`id` int(11) NOT NULL auto_increment,
`werknr` varchar(50) NOT NULL,
`persnr` varchar(5) NOT NULL,
`afd` varchar(50) NOT NULL,
`afd_chef` varchar(50) NOT NULL,
`hgr_ldng_gev` varchar(50) default NULL,
`peno` varchar(50) default NULL,
`sal_adm` varchar(50) default NULL,
`datum` date NOT NULL,
`o100` char(4) default NULL,
`o125` char(4) default NULL,
`o150` char(4) default NULL,
`o200` char(4) default NULL,
`tvt` char(4) default NULL,
`vrij` char(4) default NULL,
`bijz_verlof` char(4) default NULL,
`lc_bv` char(6) default NULL,
`ziekte` char(4) default NULL,
`reden` varchar(25) default NULL,
`akkoordwg` char(10) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3549 ;


@Klaasjan Boven
Klopt, maar eerst moet het maar eens werken, daarna ga ik het beter maken. :)
 
Joren de Wit

Joren de Wit

14/02/2007 16:00:00
Quote Anchor link
Als ik deze tabel zo zie, denk ik dat je eerst maar eens moet beginnen met normaliseren en je datamodel opnieuw opbouwen...

`werknr` varchar(50) NOT NULL,
`persnr` varchar(5) NOT NULL,
`afd` varchar(50) NOT NULL,
`afd_chef` varchar(50) NOT NULL,
`hgr_ldng_gev` varchar(50) default NULL,
`peno` varchar(50) default NULL,
`sal_adm` varchar(50) default NULL,

Deze gegevens bijvoorbeeld hoor je al in (een) aparte tabel(len) op te slaan. En daarbij kun je ook altijd aannemen dat zodra jij kolommen gaat nummeren (o110, 0125, 0150, 0200) je datamodel niet juist is.

Quote:
Klopt, maar eerst moet het maar eens werken, daarna ga ik het beter maken. :)
Precies verkeerd gedacht dus. Als jij met een verkeerd datamodel aan de gang gaat, moet je dat nu veranderen. Je gaat namelijk gegarandeerd op problemen stuiten als je hiermee verder blijft werken!
 
Wim

Wim

14/02/2007 16:07:00
Quote Anchor link
Ik weet dat het datamodel niet helemaal top is. Maar ik heb qua tijd niet de mogelijkheid dat nog aan te passen.

De velden die je noemt bevatten een id naar een aparte tabel. (in eerste instantie niet, vandaar dat er bijv. nog varchar(50) staat.

Het gaat er mij nu om, om die query goed te krijgen, het datamodel aanpassen zit er qua tijd gewoon niet in. De fout daarin zit hem in het feit dat de doelstelling van het script dat ik schrijf, meermalen tussentijds is veranderd. Ondanks deze tekortkoming werkt het verder wel prima, en worden eventuele fouten wel afgevangen, mijn probleem is nu alleen nog deze query. Als ik dat klaar heb kan ik nog kijken of ik tijd heb om andere tekortkomingen aan te passen, maar dat zal lastig zijn helaas, en is niet mijn keuze. :)
 
Frank -

Frank -

14/02/2007 17:16:00
Quote Anchor link
Quote:
Ik weet dat het datamodel niet helemaal top is. Maar ik heb qua tijd niet de mogelijkheid dat nog aan te passen.
Maar je hebt wel tijd om alle problemen die je nu aan het maken bent (!!!) ook op te gaan lossen?

Daarnaast krijg je de garantie dat er data-inconsistentie op gaat treden, dat gaat je nog veel meer problemen opleveren.

Het is maar waar je zin in hebt...

Nu de boel oplossen (goed datamodel maken) gaat een stuk sneller dan straks het systeem opnieuw bouwen, alle puinhopen opruimen en de data (voor zover mogelijk) opnieuw in te kloppen.
 
Wim

Wim

15/02/2007 08:51:00
Quote Anchor link
Het is jammer dat jullie reageren alsof het mijn keuze is. :)
Dit is het enige probleem waar ik tegen aanloop, en het aanpassen van een query is m.i. minder werk dat het hele datamodel en al mijn scripts aanpassen. Bovendien, wat Blanche aangeeft is dus al het geval, dus zo erg is het nu ook weer niet. Inmiddels denk ik dat ik achter de juiste query ben:

SELECT persnr, SUM(o100) as o100, SUM(o125) as o125, SUM(o150) as o150, SUM(o200) as o200, SUM(tvt) as tvt, SUM(vrij) as vrij, SUM(bijz_verlof) as bijz_verlof, SUM(ziekte) as ziekte, lc_bv FROM uren WHERE MONTH(uren.datum)='11' AND YEAR(uren.datum)='2006' GROUP BY werknr,persnr,lc_bv ORDER BY persnr,datum;

Dit geeft het resultaat waar ik naar op zoek was.

In ieder geval bedankt voor de reacties. (ik weet dat ze goed bedoeld zijn hoor!)
 
Axel de Mol

Axel de Mol

15/02/2007 10:38:00
Quote Anchor link
Wil ik toch nog even op inspringen Wim, het lijkt misschien wat makkelijker om een query snel aan te passen ipv van normalisatie toe te passen maar dat is zeker niet de slimste oplossing. Een goedwerkende database zorgt voor een goed werkend systeem. Als er geen goede database als basis ligt voor een systeem kan er veel dubbel werk gedaan worden en kom je er later pas echt achter dat het toch sneller was om een normalisatie uit te voeren.

Het is eigenlijk gewoon een stap die je meteen uit moet voeren. Een goede basis is het minste werk. Zelf heb ik dit (klik) boek en ben er best tevreden mee, helpt me in ieder geval goede databases te maken.
 
Wim

Wim

15/02/2007 12:00:00
Quote Anchor link
Hallo Alex,

dat is absoluut waar, maar het is bij mijn opdracht een beetje de soep ingelopen omdat de doelstelling en mogelijkheden van het script een aantal keren tussentijds, zonder tijdig aangeven zijn gewijzigd. We hebben nadelen/voordelen afgewogen, en uiteindelijk besloten het nu eerst zo te laten.
Dit is dus de reden waarom we kiezen voor de "oplossing" om de query aan te passen.
 
Joren de Wit

Joren de Wit

15/02/2007 12:17:00
Quote Anchor link
Oke prima, je bent er blijkbaar niet van te overtuigen dat je/jullie nu een verkeerde keuze gemaakt hebben en een weg in slaan die uiteindelijk tot onjuiste, corrupte en missende resultaten kan leiden.

Maar goed, wat ik je dan nog wel even mee wil geven voor deze query is dat je je aliassen niet slim gekozen hebt. Je gebruikt namelijk voor een alias dezelfde naam als de kolomnaam (SUM(o100) AS o100), en ook dat kan problemen op gaan leveren. Verander de alias dus bijvoorbeeld even in o100_totaal...
 
Wim

Wim

15/02/2007 13:39:00
Quote Anchor link
@Blanche

Je hebt me wel degelijk overtuigd, ik zou het liever ook anders doen, maar die tijd wordt me niet gegeven. :)

Die aliassen ga ik nog wel iets aan doen.
 



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.