Mysql query probleem

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 »

Full stack developer Node.js, React Remote

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

SQL Developer

Functie omschrijving Altijd al willen werken bij een snelgroeiend bedrijf, actief in de logistieke sector? Dit is je kans! Ik ben op zoek naar een ervaren SQL Developer in de omgeving Tilburg. Dit bedrijf is gespecialiseerd in in de ontwikkeling van software en maatwerk oplossingen voor het automatiseren van logistieke processen. Klanten zijn o.a. BOL en andere grote distributiecentrums. Jouw taken worden vooral: Verantwoordelijk voor ontwikkelen van stored procedures, voor snelle afhandeling van data; Optimalisatie van de SQL query's en T-SQL query's; Jij gaat je bezig houden met ontwerpen, ontwikkelen en optimaliseren van de MS SQL Databases; In deze functie

Bekijk vacature »

Mendix Ontwikkelaar - Vernieuwen van het applicati

Bedrijfsomschrijving De ontwikkelingen in de transportsector gaan razendsnel. Bij ons kun je een belangrijke rol spelen in deze sector. We streven ernaar om onze klanten te ontzorgen op het gebied van continuïteit en veiligheid met innovatieve producten en diensten. We willen dat onze klanten de veiligste vervoerders van Europa worden. Ons team werkt hard om deze ambitieuze doelstellingen te bereiken en we bieden een motiverende werkomgeving aan. We zijn op zoek naar zelfstarters met een focus op resultaat en beslissingsbevoegdheid. Functieomschrijving Als Mendix ontwikkelaar bij deze organisatie heb je een gevarieerde baan. Het applicatielandschap wordt vernieuwd en de “schade en

Bekijk vacature »

Senior front end developer Digital Agency Amsterda

Functie Wij werken in multidisciplinaire teams aan verschillende projecten, echter blijf je niet gebonden aan 1 team. Dit houdt in dat wij verschillende specialisten in dienst hebben en deze door middel van een roulatiesysteem in multidisciplinaire teams laten werken. Het team bestaat vaak uit Frontend developer(s), Backend Developer(s), Designer(s), Tester(s) en Mobile Developer(s). Deze teams worden afgewisseld waardoor jij de mogelijkheid krijgt om met iedereen een keer samen te werken. Als Frontend Developer ben jij ónze Specialist op dit gebied. Jij werkt mee aan verschillende projecten voor verschillende klanten. Denk bijvoorbeeld aan klanten, zoals’; BAM, IDFA en Ultimaker. Hierbij zorg

Bekijk vacature »

PHP developer - Digital Agency

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

Infrastructure Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12945 Introductie Our client is one of the most innovative companies within the Netherlands. Currently we are looking for an Infrastructure Platform Engineer. Within this role you will be developing the infrastructure. Functieomschrijving Within this role you are responsible in the development of our distributed data and compute platform infrastructure. You will design, develop and implement new features and fixes. Next to this you will integrate and configurate other packages that supports the development of tuning applications within the organisation. You will support customer sites remotely. Design and implement the

Bekijk vacature »

Ontwikkelaar Centrale Monitoring

Ontwikkelaar centrale Monitoring Functieomschrijving Wil jij een bijdrage leveren aan het onderhoud, opzetten en ontwikkelingen van technologieën van SSC-ICT, een van de grootste ICT-dienstverleners van en voor de Rijksoverheid? Je komt als monitorspecialist te werken bij team Operations Management Services. Dit team werkt aan het stabiliseren en waarborgen van een betrouwbare monitoromgeving voor 7 ministeries. Jij begeleidt het implementatieproces van de te monitoren technologieën, onder andere via management packs, connectoren en API's. Je hebt hiervoor veel contact met interne en externe klanten, die hun wensen op het gebied van monitoring aan jou doorgeven. Je beoordeelt deze wensen en komt met

Bekijk vacature »

Senior Front-end developer

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Medior Java developer

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 »

Front End Developer React Vue

Dit ga je doen Meewerken aan de implementaties en ontwikkeling van nieuwe functionaliteiten van de webapplicaties; Ontwikkelen met o.a. React en Vue en HTML/CSS, ook krijg je in verband met de samenwerking ook affiniteit met de backend Ruby on Rails; Ontwikkeling aan de front end voor de koppelingen tussen de diverse systemen; Ontwerpen van interfaces en een bijdrage leveren aan de gebruikerservaring; Zorgdragen voor hoge kwaliteit van code en jezelf (en anderen) blijven verbeteren; Als Senior Front End Developer begeleid je zelf ook FE-development projecten, hierin leid je de projecten en pak jij het initiatief op (bv integratieprojecten). Hier ga

Bekijk vacature »

PHP Back-end Developer

Vacature details Vakgebied: Software/IT Opleiding: Starter Werklocatie: Nijmegen Vacature ID: 13633 Introductie OUr client develop websites, webshops, and digital environments that are used by many visitors daily. They are seeking an experienced PHP-Developer Back-end to join the team. If you're looking for a position where you can tackle challenging, innovative, and multidisciplinary ICT projects and make a difference, this vacancy might be for you! Functieomschrijving As a PHP developer, you'll develop websites and digital environments used by many visitors daily. You'll work as a back-end developer and want to continuously develop in this field. You can work independently and efficiently,

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Junior PHP Developer

Functieomschrijving Junior PHP Developer gezocht! Voor een opdrachtgever in de regio Gelderland zijn wij op zoek naar een Junior PHP Developer die onderdeel gaat worden van het ontwikkelingsteam van deze organisatie. In deze functie ga jij aan de slag met het schrijven van software voor de aansturing van en het managen van windparken en bijbehorende onderdelen. Hiernaast ga jij je bezighouden met het ontwikkelen, testen en onderhouden van diverse webapplicaties. Het team waarin je komt te werken bestaat uit 3 developers, hierdoor krijg je veel verantwoordelijkheid en de kans om jezelf verder te ontwikkelen. Er wordt echter wel van je

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je hier

Bekijk vacature »

Pagina: « vorige 1 2

Brecht S

Brecht S

13/01/2015 20:55:26
Quote Anchor link
En kan ik die dan JOINEN? Of zie ik dat hier verkeerd en is dat niet meer nodig? Ik heb geen idee hoe je dit zou aanpakken.
 
PHP hulp

PHP hulp

27/05/2026 05:43:42
 
Jan de Laet

Jan de Laet

13/01/2015 20:58:17
Quote Anchor link
@Brecht, als je nu dan vertelt wat je wilt als er meer projecten of taken zijn... dan kunnen we je misschien helpen.

Je zei dat je taak_id nodig had, dus dan heb je ook meerdere records nodig lijkt me.
 
Brecht S

Brecht S

13/01/2015 21:11:50
Quote Anchor link
Wat ik zie is dat er maar 2 personen meerdere keren voorkomen en die hebben toevallig ook een project met meerdere taken onder. Dus daar gaat precies iets verkeerd. Diegene die geen projecten (of taken) hebben komen maar 1 keer voor wat dus juist is en dat zijn de overige in de lijst.

Als er meerdere projecten of projecttaken zijn mag die persoon maar 1 keer verschijnen want er is bvb maar 1 todo aan gekoppeld. Voor alle duidelijkheid: we spreken hier over taken maar dit zijn projecttaken. In het overzicht dat ik wil maken gaat het hier enkel over todo's voor bepaalde personen ( en die hangen vast aan contacten ). Dat ik hier een mix moet hebben met projecten en projecttaken heeft hier eigenlijk rechtstreeks niks mee te zien. Dit is alleen omdat ik die taak_id nodig heb om de taak later te kunnen aanpassen vanuit die overzichtlijst.
Gewijzigd op 13/01/2015 21:19:13 door Brecht S
 
Jan de Laet

Jan de Laet

13/01/2015 21:20:06
Quote Anchor link
Degene die geen projecten of taken hebben komen inderdaad maar 1 keer voor, maar hebben dan geen taak_id. (taak_id heeft waarde NULL).

Van diegene die meerdere projecten en/of taken hebben zie je meer taak_ids in de overzichtslijst.
Welke van die taak_ids moet er dan getoond worden? Is er nog een extra conditie die je toe kunt passen om er maar 1 te zien?
Gewijzigd op 13/01/2015 21:20:48 door Jan de Laet
 
Brecht S

Brecht S

13/01/2015 21:26:31
Quote Anchor link
Ik zal proberen al mijn uitleg hier eens opnieuw van in het begin te verduidelijken want denk dat jullie niet meer mee zijn. Het is ook een heel complex iets.

Ik heb een pagina genaamd 'historiek'. Hier kan je een type kiezen: notitie, todo of taak. Afhankelijk van wat je kiest krijg je andere velden te zien.

In het geval het een notitie is komt die in een lijst te staan die alle callcenters kunnen zien om meer te weten te komen over die prospect/klant. Dus eigenlijk een echte historiek/logboek.

In het geval het een todo is moet die op een andere pagina 'activiteiten' verschijnen (en daar gaat het hier over). Hier hebben we een lijst met alle items die als todo zijn opgegeven met telkens een actiedatum waarop die in de lijst moet verschijnen.

In het geval het een taak is moet die op de pagina 'activiteiten' in de lijst verschijnen. Ook hier is de actiedatum de datum van verschijning. Maar ook moet die op een andere pagina 'projecten' verschijnen onder een project die hangt aan die klant.

Indien dus een taak is opgegeven als type in die pagina historiek verschijnt er ook een knopje bij waar je kan op klikken om naar de aanpaspagina te gaan van die taak. Vandaar heb ik die taak_id nodig.

Misschien is deze uitleg beter?

Toevoeging op 13/01/2015 21:30:37:

@Jan: inderdaad, van diegenen die meerdere projecten/taken hebben zie je ze ook meerdere keren verschijnen. Het gaat hier enkel over de taak_id die als historiek item is opgemaakt met als type 'taak'. In de meeste gevallen zal dit maar 1 taak_id zijn. Misschien is hier nog een extra iets nodig dat ik check of type = taak bij de historiek (met h.type = 'taak') en zo de bijhorende id krijg en dit dus ook de enige is die verschijnt?
Gewijzigd op 13/01/2015 21:39:15 door Brecht S
 
Jan de Laet

Jan de Laet

13/01/2015 22:38:09
Quote Anchor link
Na je uitleg begrijp ik de relatie tussen historiek en projecten / taken nog niet helemaal.
- Type 'notitie' hebben geen relatie naar projecten en taken
- Type 'todo' heeft activiteit, maar het is mij niet duidelijk of hier relatie is met projecten / taken (hoe koppel je een todo aan een project en aan een taak?)
- Type 'taak' heeft ook activiteit, ook hier de vraag: wat is de relatie.

Projecten lijken alleen aan een contact te hangen (contact_id), of is er ook nog relatie met historiek?

Kun je bij de JOIN naar taken bij de ON toevoegen AND h.type=t.type? Zijn type in historiek en taken ook 'todo' of 'taak'?
 
Brecht S

Brecht S

14/01/2015 21:53:02
Quote Anchor link
- Type notitie heeft inderdaad geen relatie naar projecten en taken.
- Type todo heeft ook geen relatie met projecten/taken. Is enkel maar om in de overzichtlijst te laten verschijnen van de activiteiten of agendapunten die iemand moet doen op een bepaalde dag. Je kan het best met een agenda vergelijken met todo's in.
- Type taak is dan ook de enige die wel iets met projecten/taken te maken heeft. Die komen als 'agendapunt' in de activiteitenlijst naar boven op de actiedatum en moeten ook als todo 'afgewerkt' worden.
De relatie tussen de historiek en de taken zit hem in het type. Dus je redenering van h.type = t.type in een AND toe te voegen aan de ON bij taken lost mijn probleem hier op. Ik krijg nu de juiste lijst te zien die ik nodig had.

Projecten of (project)taken hangen inderdaad enkel maar aan contacten en (project)taken zitten ook altijd onder een project. De enige relatie die het heeft met historiek is het type omdat je dus ook een projecttaak kan maken vanuit die historiek door het type op 'taak' te zetten daar. Uiteraard moet je dan ook een project selecteren, maar dit was al opgelost.

Mijn nieuwe query is nu:
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
SELECT
   h.actiedatum,
   h.contact_id,
   h.historiek,
   h.id as hid,
   h.type as htype,
   c.bedrijfsnaam,
   c.voornaam,
   c.achternaam,
   t.id as tid
FROM
   historiek h
JOIN
   contacten c
ON
   h.contact_id = c.id
LEFT OUTER JOIN
   projecten p
ON
   p.contact_id = c.id
LEFT OUTER JOIN
   taken t
ON
   t.project_id = p.id AND h.type = t.type
WHERE
   h.actiedatum <= CURRENT_DATE AND h.afgewerkt <> 'ja' AND h.actiedatum <> '0000-00-00'


Als ik nu $row['tid'] wil oproepen, blijft die leeg. Hoe zou dat komen?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

14/01/2015 22:28:51
Quote Anchor link
Wie weet.
 
Brecht S

Brecht S

14/01/2015 23:15:46
Quote Anchor link
Aan dat antwoord heb ik wel niet veel hé, Ger...
 
Jan de Laet

Jan de Laet

15/01/2015 08:29:49
Quote Anchor link
tid krijgt alleen een waarde als:
- het contact een project heeft en
- project een taak heeft en
- type uit historiek en taak gelijk zijn aan elkaar.

Voor de meeste rijen kun je dus een lege tid krijgen.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

15/01/2015 11:03:10
Quote Anchor link
Het punt is dat hier een poging gedaan wordt om twee totaal verschillende queries in één query te gieten.
Dat kan wel maar het gevolg daarvan is dat je soort van cross join krijgt.
Stel dat contact 1 in de historiektabel x entries heeft en in de takentabel y entries, dan is het (logische) gevolg van de join x*y records.

Een relatie op een niet sleutel kolom is geen relatie (hooguit een one-night stand), je weet in de historiek tabel alleen dat het een taak is, maar niet welke taak.
Daardoor kan je wel de recordset verkleinen, maar blijf je nog steeds alle taken gekoppeld krijgen aan een record van het type "taak" in de historiektabel.

Conclusie: historiek en taken moeten in relatietherapie of je moet in PHP omgaan met de meerdere records.
 
Brecht S

Brecht S

15/01/2015 11:22:54
Quote Anchor link
@ Ger: Denk dat dit nu aan het gebeuren is, inderdaad. Ik had iets over het hoofd gezien gisteren. Het is zo dat indien h.type = t.type en er hangt een taak/taken (projectentaken) of een project/projecten aan dat contact (wat altijd zo zal zijn) dat ik dubbels krijg op dat contact en wel zoveel als er projecttaken zijn voor dat contact (op die moment werkt tid wel).
Kan je dat niet oplossen met een GROUP BY of ORDER BY? Wat zou hier de meest goede oplossing voor zijn. Kan je eens een duidelijk voorbeeld geven waarmee ik aan de slag kan?

Toevoeging op 15/01/2015 11:25:00:

Ger van Steenderen op 15/01/2015 11:03:10:
je weet in de historiek tabel alleen dat het een taak is, maar niet welke taak.

Denk dat hier momenteel het probleem zit...
Gewijzigd op 15/01/2015 11:28:43 door Brecht S
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

15/01/2015 12:01:32
Quote Anchor link
Dus toch relatietherapie, de therapeut is dan een extra tabel:
historiek_taken
- historiek_id (PK)
- taak_id

Op het moment dat je een historiek hebt op een bepaalde taak, sla je de beide id's op in de historiek_taken tabel.

De relatie tussen historiek en historiek_taken is dan 1 - 1/0, en dan doet het bijbehorende project niet meer terzake:
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
SELECT
   h.actiedatum,
   h.contact_id,
   h.historiek,
   h.id as hid,
   h.type as htype,
   c.bedrijfsnaam,
   c.voornaam,
   c.achternaam,
   t.id as tid
FROM
   historiek h
JOIN
   contacten c
ON
   h.contact_id = c.id
LEFT JOIN
   historiek_taken ht
ON
   h.id = ht.historiek_id
LEFT JOIN
   taken t
ON
   ht.taak_id = t.id
WHERE
   h.actiedatum <= CURRENT_DATE AND h.afgewerkt <> 'ja' AND h.actiedatum <> '0000-00-00'
Gewijzigd op 15/01/2015 12:04:09 door Ger van Steenderen
 
Brecht S

Brecht S

15/01/2015 13:46:46
Quote Anchor link
Schitterend Ger... Denk dat het is gelukt op jouw manier. Maar moet nog een paar testen uitvoeren om zeker te zijn. Op het eerste zicht lijkt het prima! Thanks!
 

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.