Meerdere id's INNER JOIN

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack PHP developer voor gerenommeerde organis

Functieomschrijving Voor de functie is het belangrijk dat jij goede kennis hebt van PHP en Laravel/Symfony en JavaScript. Ze zoeken dus iemand die al 5 jaar werkervaring heeft als developer. Je zult hier zowel op de Front- als Backend werkzaam zijn en samen met je collega's ben je verantwoordelijk voor de software. Wil jij jezelf verder uitdagen in een klein en sterk team? Dan ligt hier de kans om deze stap te zetten! Functie-eisen - Je hebt minimaal 5 jaar werkervaring als PHP developer; - Javascript, PHP en MySQL kennen geen geheimen voor jou; - Je hebt kennis van meerdere

Bekijk vacature »

Application engineer

Do you have at least 3 years of experience in engineering or computer science? Then you may be interested in the position of: Application engineer located in our EMEA headquarters in ‘s-Hertogenbosch About the position: Includes the following essential duties and responsibilities (other duties may also be assigned): Responsible for technical services and work directly with customers resolving technical issues including server systems, PC systems and computer peripherals. Identifying technical issues and resolve computer hardware & software problems. Establish and maintain lines of communication with sales team to discuss services and technical issues. Travel with sales to customer sites to

Bekijk vacature »

Senior Front-end Developer vacature

Jij weet wat er nodig is. Jouw hart gaat sneller kloppen van techniek. Jij wil vooruit. Ben jij de Front-end Developer die we zoeken? Je bent creatief, thuis in gebruikersinteractie en een gedreven engineer in hart en nieren. Daarnaast heb jij een klantgerichte en proactieve houding. Precies de kwaliteiten die een Front-end Developer nodig heeft. Wat doe je als Developer? Als Front-end Developer werk je aan de technische realisatie van front-end (web)applicaties in de verschillende uitdagende opdrachten voor Sogeti’s klanten. Dit kan zowel op klantlocatie zijn, als binnen het Center of Excellence van Sogeti. Jij houdt van het uitdenken en

Bekijk vacature »

Solution Architect

Denk jij vanuit architectuur uitgangspunten mee aan nieuwe oplossingen voor de digitale wereld met complexe vraagstukken bij diverse klanten? Lees dan snel verder! Solution Architect Wat ga je doen? Als Solution Architect bij CGI word jij eigenaar van de architectuur van één of meer digitale oplossingen, zowel op conceptueel als op technisch niveau. Door jouw inhoudelijk leiderschap ben jij de verbindende factor tussen business en IT, tussen strategie en uitvoering. Jij bepaalt mede welke (deel)oplossingen worden gekozen, en hoe deze tot één werkend geheel worden geïntegreerd. Je zorgt voor goed werkende digitale oplossingen doordat je de context begrijpt en afgewogen

Bekijk vacature »

C# / .NET Core developer gezocht, financiële

Voor een bedrijf in het centrum van Rotterdam zijn we op zoek naar een .NET C# developer. Het gaat om een bedrijf dat een software platform beheerd waarop verschillende partijen aangesloten zijn voor de afhandeling van financiële administratieve processen. De organisatie bestaat uit circa 200 mensen waarvan 80 op de locatie waar deze vacature speelt. Het team zelf bestaat uit 12 mensen waaronder 7 .NET developers. Er zijn 2 seniors en 5 mediors. Binnen het bedrijf draaien twee systemen. Het kernsysteem en een legacy systeem. Voor het kernsysteem zoeken we momenteel een .NET developer. Het kernsysteem is grotendeels op .NET

Bekijk vacature »

Full Stack .NET Developer / Angular 8 / Amsterdam

Functieomschrijving Ben jij de Full Stack .NET developer die graag in de regio Amsterdam aan de slag gaat om vanaf scratch nieuwe features te ontwikkelen? Wil jij een verbindende rol spelen tussen business en IT? Ga jij graag aan de slag bij een grote Noord-Europese financiële organisatie met meerdere thuismarkten? Lees dan snel verder! Als developer nieuwe gave features ontwikkelen; Werken met technieken als C#, Angular 8 en Javascript,; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te

Bekijk vacature »

Gezocht: ervaren PHP developer die next level wil!

Functieomschrijving Hier werken betekent dat jij je expertise op het gebied van PHP verder kan uitbouwen en een waardevolle bijdrage gaat leveren binnen deze kleine maar prettige organisatie. Voornamelijk zul je hier gaan werken op de Backend met Laravel, mocht je Symfony kennis hebben en je wil ook graag Laravel leren dan kan dat hier zeker! Binnen een team van experts ga jij in Scrumverband verder het succes uitbouwen van het bedrijf. Het is belangrijk dat je zowel een teamplayer bent als zelfstandig te werk gaan, want ze kunnen niet de hele dag je handje vasthouden om alles uit te

Bekijk vacature »

C# Developer /SaaS applicaties/MVC/ SQL/ 4.000 eur

Functieomschrijving Ben jij een .NET (C#) Developer wil werken in een IT-minded organisatie? Heb je kennis van MVC en SQL? Wil jij werken aan in-house ontwikkelde applicaties? Houd jij de nieuwste technieken in de gaten om het ontwikkelproces beter te laten verlopen? Lees dan snel verder! Nieuwbouw, onderhoud en bugfixing van de applicaties; Het produceren van code met een hoge kwaliteit; Hulp bieden aan jouw collega's met verschillende (complexe) technische kwesties; Kwaliteitsmonitoring van het gehele project, incl. de opgeleverde wijzigingen; Het waarnemen van verbetermogelijkheden en deze op de planning zetten. Functie-eisen Uitgebreide werkervaring met C#; Kennis van MVC en SQL;

Bekijk vacature »

Lead Developer

Discipline Information Technology Location Utrecht (NL) Hours a week 40 As our Lead Developer You will be working in a fast-paced, open source-based environment using agile methods. You are a key figure in creating enterprise applications. Our sales channels and offices locations are based in the Netherlands, Romania, US East and West Coast, China and Australia, this 24/7 operation requires rock-solid software. Your colleagues are located in Shanghai, Bucharest, Venlo and Utrecht. We are continuously looking for ways to improve our development methodologies and architecture and we welcome fresh ideas and techniques. This position is located in Utrecht. What you

Bekijk vacature »

Noordoost Java Developer vacature

Java Developer Noordoost Word onderdeel van een topteam met ervaren Java Developers. Loop voorop in de ontwikkelingen en help mee innoveren. Focus op Java Wij bouwen State of the Art applicaties met de nieuwste Java technologie en frameworks. Dit doen we door ons te richten op de open source-oplossingen binnen de wereld van Java, alle nieuwe ontwikkelingen te volgen en onze kennis te delen binnen onze eigen Java Community. Dit betekent bijvoorbeeld dat we aanwezig zijn op veel conferenties; Oracle Code One, Devoxx en JFall. We organiseren ook onze eigen collegiale sessies en hackatons waar we kennis en plezier combineren.

Bekijk vacature »

Technisch Ontwerper / Applicatieontwikkelaar max.

Wie zoeken we? Je bent de beste in je vak of hebt de ambitie en de potentie om de beste te worden. Je hebt de passie om nieuwe technologieën te blijven leren en continu jezelf te ontwikkelen. Je hebt de pioniersgeest en drive om nieuwe technologieën, methodieken en concepten toe te passen in projecten en bij klanten. Je vindt het leuk om kennis te delen met collega’s, klanten en vakgenoten. Je bent een ware professional en ambassadeur voor CIMSOLUTIONS. Je voelt je thuis in een informele, collegiale en professionele sfeer waar de aandacht voor de klant en voor de medewerker

Bekijk vacature »

Junior .NET Developer

Kom jij ons team versterken als Developer bij onze Tech Hub in Utrecht? HROffice is de software development tak van Adver-Online. HROffice bestaat uit een internationaal, gedreven en leergierig team van 20 developers, visual designers en consultants. Wij ontwikkelen al tien jaar krachtige web applicaties voor zowel grote als kleine organisaties met specialisaties op recruitment (HROffice Recruitment ATS), planning en tijdsregistratie (HROffice WFM) en HR dashboards (HROffice Portal). Met twee Scrum Teams werken we voor klanten als DocData, Praxis, Bolletje en Bol.com, maar ook binnen de uitzendbranche voor Start People, Unique, CapitalP, Uitzendbureau 65+ en Kaemingk. We ontwikkelen alle applicaties

Bekijk vacature »

Business Intelligence Developer vacature

Jij ben niet bang om hard te werken. Uitdagingen zijn welkom. En problemen? Die zijn er om opgelost te worden of, nog beter, om voorkomen te worden! Voor jij aan de slag gaat met het ontwerpen van BI- en DWH-oplossingen, leg je eerst je oor te luister bij de klant. Zo weet jij wat de klant wil, en hoe jouw ontwerp eruit moet komen te zien. Simpel! Althans… met jouw Developer-kwaliteiten wel! Over deze BI vacature Als Business Intelligence Developer ga je zowel op locatie bij de klant aan de slag, als op een van de Sogeti-locaties. Je analyseert de

Bekijk vacature »

Java Developer Digital

At KLM, we prefer to call back-end developers Java developers. It's because of our love of travel. The world we live in is changing rapidly, and as a developer, you're in the cockpit. Will you join us on a digital journey around the world? About the job What will your task be? You are the indispensable link in the big picture. Most of all, you will help make innovations a reality. For example, you can proudly stand next to the check-in that you have made possible. Because let's be honest: we are at the cutting edge of innovation, but without

Bekijk vacature »

Software Developer Zorg-ICT

Wil jij met ChipSoft impact maken in de zorg met jouw technische kennis als Software Developer Zorg-ICT? En lijkt het jou uitdagend om innovatieve software te ontwikkelen met de laatste Microsoft-tools en technieken? Wat doe jij als Software Ontwikkelaar? Je bent verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van jouw eigen module. Dit gaat om complexe ICT-producten die feilloos moeten functioneren binnen de complexe omgeving van een zorgorganisatie. Je werkt zelfstandig of in teamverband. ChipSoft maakt gebruik van een zelf ontwikkeld multi-tier framework. Tijdens een interne opleiding brengen wij je snel bij hoe je binnen deze architectuur je ontwikkelkunsten

Bekijk vacature »
Yoeri Achterbergen

Yoeri Achterbergen

08/01/2020 01:44:25
Quote Anchor link
Goede avond,


Ik heb een vraag betreft 2 tabellen die ik gecombineerd wil serveren.
De situatie kort uitgelegd.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
tabel: groups
ID   NAME
1   Blauw
2   Geel
3   Rood

Tabel: users
ID   USERNAME   GROUP
1   Bert          2
2   John          1
3   Jan          1, 3


Als resultaat wil ik:
Bert Geel
John Blauw
Jan Blauw, Rood

De GROUP id's matchen met de nummers in de users kolom GROUP.

Bert en John kan ik makkelijk met een INNER JOIN doen maar Jan heeft 2 group ID's.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
SELECT users.id, users.username users.group, groups.id, groups.name
FROM users
INNER JOIN groups ON users.group=groups.id
?>


Mijn vraag is dan ook welke type kolom voor users.group kan ik het beste hiervoor gebruiken en hoe kan ik meerdere waardes krijgen zoals het voorbeeld van Jan.
Gewijzigd op 08/01/2020 01:46:39 door Yoeri Achterbergen
 
PHP hulp

PHP hulp

28/01/2020 23:30:09
 
Frank Nietbelangrijk

Frank Nietbelangrijk

08/01/2020 05:00:22
Quote Anchor link
Yeh Yoeri,

Dit vraagt om een ManyToMany relatie. Ofwel je hebt een koppeltabel nodig:

Tabellen:
- users
- groups
- user_group

De koppeltabel heeft (meestal) maar twee kollommen: user_id en group_id. Je kunt een primary key toevoegen op deze twee kolommen gezamenlijk.

Je krijgt dan in de koppeltabel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
user_id group_id
1   2
2   1
3   1
3   3


en je query wordt iets als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT u.id, u.username, g.id, g.name
FROM users u
INNER JOIN user_group ug ON u.id = ug.user_id
INNER JOIN groups g ON g.id = ug.group_id

 
Jan R

Jan R

08/01/2020 11:34:21
Quote Anchor link
Als je dan toch 2X user jan hebt in tabel users kan dit misschien ook.
SELECT
id,
USERNAME
,(select GROUP_CONCAT(name) from groups g where g.ID in (SELECT u2.GROUP from users u2 where ID=u.ID)) groepen
from
users u
GROUP BY
id

Frank zijn oplossing met tussen tabel is wel veel beter

Jan
 
Yoeri Achterbergen

Yoeri Achterbergen

08/01/2020 13:15:56
Quote Anchor link
@frank,


Ik heb een koppeltabel gemaakt zoals je aangaf maar zit nu met het volgende:

Als een user 2 groepen heeft zoals Jan dan word deze 2x in het resultaat weergegeven

Bert Geel
John Blauw
Jan Blauw
Jan Rood

Kan het ook dat deze als 1 resultaat eruit rolt
Bert Geel
John Blauw
Jan Blauw, Rood
Gewijzigd op 08/01/2020 21:04:49 door Yoeri Achterbergen
 
Jan R

Jan R

09/01/2020 07:10:26
Quote Anchor link
Ja, via group_concat. zie ook mijn sql voorbeeld.
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
SELECT
    u.id,
    USERNAME,
    (select
         GROUP_CONCAT(name)
     FROM
         user_group ug
     join
         groups g2
         on ug.group_id=g2.id
     WHERE
         ug.User_id=u.ID )
from
    users u


PS group en name zijn reserveerde namen in sql. je gebruikt deze als veldnamen!
Gewijzigd op 09/01/2020 07:39:13 door Jan R
 
Ivo P

Ivo P

09/01/2020 10:48:51
Quote Anchor link
merk trouwens op dat GROUP een gerserveerd woord is, en dus niet zo maar voor een kolomnaam gebruikt mag worden.

https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-8-0-detailed-G

@Jan
waarom een subquery. Waarom niet als

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
SELECT
    u.id,
    u.USERNAME,
    GROUP_CONCAT(g.name)

FROM users u
JOIN user_group ug ON ug.user_id = u.id
JOIN groups g ON ug.group_id=g.id
GROUP BY u.id, USERNAME
Gewijzigd op 09/01/2020 10:49:29 door Ivo P
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/01/2020 05:53:43
Quote Anchor link
Het enigste is dat je dan wel de groepsnamen hebt maar niet de bijbehorende groep-ids. Wat nou als je die beiden nodig hebt? Ik kan me wel indenken dat je nog een GROUP_CONCAT toevoegt maar dan heb je twee lijstjes..

En dan nog je krijgt een soort string met komma gescheiden waarden. Moet je weer met explode() gaan klooien ;-)

@ts

Je kunt in de view mijn oplossing gewoon gebruiken al wordt het wel wat omslachtiger..
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
<?php
$user_id
= null;

while ($row = mysqli_fetch_assoc($result)) {
    if($user_id !== $row['id'] {
        // start with new user
        echo 'username: ' . $row['username'] . '<br>';
        echo 'groups:';

        $user_id = $row['id'];
    }

    
    echo ' <a href="groups.php?id=' . $row['group_id'] . '">' . $row['group_name'] . '</a>';
}
Gewijzigd op 10/01/2020 06:08:04 door Frank Nietbelangrijk
 
Jan R

Jan R

10/01/2020 07:02:56
Quote Anchor link
Ivo P op 09/01/2020 10:48:51:
waarom een subquery. Waarom niet als---


Komt op hetzelfde neer. niet aan gedacht :)


Toevoeging op 10/01/2020 07:04:45:

Frank Nietbelangrijk op 10/01/2020 05:53:43:
En dan nog je krijgt een soort string met komma gescheiden waarden. Moet je weer met explode() gaan klooien ;-)


Hangt van het doel af. Bij mij is komma ideaal. Dan staat er Webbeheerder, toernooileider

Jan
 



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.