Meerdere id's INNER JOIN

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior SQL Ontwikkelaar / Database Developer / Ana

Functieomschrijving Medior SQL Ontwikkelaar / Database Developer / Analist De requirements in kaart brengen van de klant Het analyseren en ontwerpen maken de bedrijfsprocessen van de klant Het maken van functioneel ontwerp Ondersteunen van het ontwikkelteam De database ontwikkelen en onderhouden Queries schrijven Tabellen maken in SQL Software ontwikkelen met behulp van een lowcode platform Het bieden van customer support Functie-eisen HBO werk en/of denkniveau; Minimaal 2 jaar relevante werkervaring; Zowel Nederlands als Engels spreken en schrijven; Ervaring met SQL query's maken; Ervaring met programmeren is een pré; Ervaring met lowcode oplossingen is een pré; Ervaring met procesmodelleren is een

Bekijk vacature »

Consultant voor de Zorg

Wil jij jezelf razendsnel ontwikkelen bij de marktleider in de zorg-ICT? En vind jij het een uitdaging om de zorgprocessen binnen een zorginstelling te verbeteren? Grijp dan deze kans en wordt Consultant voor de Zorg! Voor ons hoofdkantoor zoeken wij een enthousiaste en klantgerichte aanpakker met liefde voor zorg en ICT. Jouw baan Als Consultant voor de Zorg ben jij de onmisbare schakel tussen de zorgprofessionals en onze software ontwikkelaars. De zorgorganisaties die onze software gebruiken en onderhouden, worden door jou begeleid. Je leidt zorgprofessionals op om met onze software te werken, helpt bij implementatietrajecten in het ziekenhuis en ondersteunt

Bekijk vacature »

Junior/medior iOS developer - interne baan - vast

Functieomschrijving Als iOS developer ga je meewerken aan de (door)ontwikkeling van een omvangrijke App die via een JSON Rest/API communiceert met de back-end. Deze app wordt gebruikt in de zakelijke markt en heeft als functie om telecommunicatie gemakkelijker en optimaler te laten verlopen. Er wordt ontwikkeld in Swift en je kunt op dit vlak dan ook mooie projecten op pakken. Daarnaast zijn er intern meerdere ervaren mobile developers (zowel op iOS als op Android gebied) en krijg je de kans om onder de vleugels van hun senioriteit snel stappen te maken. Zodra je eenmaal helemaal 'up-and-running bent, krijg je veel

Bekijk vacature »

Systeembeheerder

Vind jij het leuk om verantwoordelijkheid te dragen voor de support en het beheer van een IT-omgeving? En heb je daarnaast ook interesse in Security? Dan ben jij de Security/System Administrator waar we naar zoeken! We hebben je expertise nodig Itility is een IT consultancy bestaande uit ongeveer 220 medewerkers. Op ons hoofdkantoor zijn er +/- 60 (flex)werkplekken. Om ons helemaal op de klant te kunnen focussen, moet de IT intern op rolletjes lopen. En daar kom jij in beeld! Samen met een senior systeembeheerder zul je verantwoordelijk zijn voor onze IT. Werkzaamheden die daarbij horen zijn: Interne IT Servicedesk

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Embedded Software Developer / C++ / Projecten / Le

Functieomschrijving Word jij enthousiast van Embedded Software ontwikkeling in een state-of-the-art omgeving met technieken als C / C++ en Embedded Linux? Wil jij graag op het hoogste niveau werken? Lees dan gauw verder! Het ontwikkelen van Embedded Software met technieken als C en C++. Zorgen dat applicaties van jouw collega's perfect communiceren met de hardware. Platforms als Embedded Linux, OSless en RTOS systemen. Opstellen en uitwerken van requirements. Ondersteunen van je Project Manager (bijv. het uitwerken van ontwerpen, helpen bij een update voor de klant) Ondersteunen van junior collega's met jouw kennis en ervaring. Functie-eisen Een ervaren Embedded Software Developer.

Bekijk vacature »

.NET Developer PACS / Multimedia

Wil jij met jouw ontwikkelskills medisch specialisten het optimale uit beeldmateriaal laten halen? Dan is dit jouw droombaan! Ter versterking van ons PACS-team in Amsterdam zoeken wij een ontwikkelaar die verantwoordelijkheid krijgt over zijn ‘eigen’ software. Jouw baan In deze functie ga je medische apparatuur (ECG\echo\OCT\MRI\Etc) integreren in ons EPD. Jij houdt je daarnaast bezig met het maken van software om de verschillende output-formaten van de apparatuur te ondersteunen en te presenteren aan medische specialisten. Tevens ben je verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van je eigen PACS-tools (Picture Archiving and Communication System). Die tools integreer je feilloos

Bekijk vacature »

.NET Developer Zorg-ICT

Complexe software ontwikkelen: dat is jouw ding! Voor onze vestiging in Heerenveen zoeken wij fanatieke junior en senior .NET Developers die met de laatste Microsoft-tools en -technieken willen werken. Jij bent gemotiveerd en draagt graag verantwoordelijkheid voor je 'eigen' software, die wordt ingezet in ziekenhuizen door heel Nederland. Jouw baan 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 een klein team. ChipSoft maakt gebruik van een zelf ontwikkeld multi tier framework. Tijdens een

Bekijk vacature »

Java ontwikkelaars gezocht met interesse in Securi

Functieomschrijving Als ontwikkelaar help je het bedrijf groeien en bouw je applicaties en plugins binnen Java. Het grootste werk zal je hebben aan het doorontwikkelen van de door hun op de markt gebrachte software-oplossing. Deze oplossing is een doordachte en veelgebruikte tool voor het veilig versturen van (zakelijke) bestanden. Binnen je functie zal je veel vrijheid en verantwoordelijkheid gaan ervaren om je werk zo goed mogelijk uit te voeren. Van jou wordt verwacht dat je je op technisch gebied constant door wilt blijven ontwikkelen. Functie-eisen - HBO/WO opleiding afgerond. - Ervaring met Java; - Een pré is kennis van Spring,

Bekijk vacature »

C# backend developer gezocht, hardware component,

Ben je een C# developer en zoek je een baan in Rotterdam waar je systemen ontwikkeld die communiceren met hardware? Bij een klein bedrijf met korte lijnen, een open cultuur en veel vrijheid? Wellicht dat dit dan iets voor je is. Voor een klant in Rotterdam zijn we op zoek naar een ervaren C# developer. Het gaat hier om een bedrijf dat gericht is om voor overheden en ondernemingen informatie vanuit bepaalde meetsystemen te verwerken en te presenteren. Zo is bijvoorbeeld een van de projecten waar je als ontwikkelaar aan gaat werken; het bouwen van een website waar gebruikers informatie

Bekijk vacature »

Senior cloud engineer / full stack developer

Functie­omschrijving Het Koninklijk Meteorologisch Instituut is 'data driven' sinds 1854. Waarnemen, data verzamelen, modelleren, analyseren en duiding geven zijn de kernactiviteiten van het instituut. Waarnemingen komen van satellieten, radar, vliegtuigen in de lucht, maar ook van de meer dan 300 vrijwilligers die neerslagmetingen doen. De ICT van het instituut is zeer omvangrijk en voor de uitvoering van onze modellen beschikken we over een eigen HPC (supercomputer). Veel systemen zijn hoog beschikbaar uitgevoerd en kennen geen downtime. Als senior cloud engineer ben je in de lead bij de opzet en inrichting van het cloud platform, bij het vormgeven van applicaties voor

Bekijk vacature »

Systeembeheerder / Applicatiebeheerder

Stroom jij over van kwaliteit om wereldwijde waterproblemen aan te pakken? Kun jij wensen en eisen vertalen naar IT vereisten? En hou je van een dynamische omgeving, waarin jouw baan ertoe doet, jouw ideeën worden gehoord en waar je werkelijk het verschil kan maken voor jouw collega’s en het bedrijf? Zo ja, dan zijn wij op zoek naar jou! Systeem-/Applicatiebeheerder technische affiniteit, gedreven, eigenaarschap Jij helpt ons door ervoor te zorgen, dat de applicaties soepel lopen. Dit doe je samen met collega’s en externe partners. Onze applicaties zijn onder andere: Dynamics AX, Astro, Slim4 en Perfion. Ons on-site team bestaat

Bekijk vacature »

SAP HANA Developer

SAP HANA Developer Utrecht Technology 13th month pay & Holiday allowance Bonus Program 26 holidays Training & Learning opportunities Laptop & Smartphone 32-40 hours p.w. Are you looking for the opportunity to become "the expert" when it comes to Business Intelligence, Data Analysis, Data Visualization and Data Management within a SAP environment? Then a role as a SAP HANA Developer is the job for you!Your jobYou contribute to the development, delivery and maintenance of business intelligence solutions based on the latest SAP technology. You improve the HANA platform for customers and you work on innovative applications that organizations are keen

Bekijk vacature »

Junior of medior full-stack C# developer gezocht,

Ben je een startende software developer of iemand die wellicht al iets meer ervaring heeft? En ben je op zoek naar een baan als C# developer in Rotterdam (vlakbij Rotterdam centraal)? Bij een kleine platte organisatie met korte lijnen en een professionele en ongedwongen sfeer? Waarbij gebruiksvriendelijkheid een belangrijk uitgangspunt is bij het bouwen van hun software? Voor een bedrijf in Rotterdam zijn we momenteel op zoek naar een junior of medior C# developer. Het bedrijf richt zich op de ontwikkeling van software voor productiebedrijven. Hun software stelt deze bedrijven in staat sneller te verbeteren. Dit doen ze door bekende

Bekijk vacature »

C# Developer

De uitgebreide versie Jij hebt ruim twee jaar ervaring als developer. Nu wil je graag je tanden zetten in nog complexere projecten. Samen met je team bereik je nieuwe hoogtes en zelfstandig maak je meters. Je hebt behoefte aan collegae die jou alles leren op het gebied van technologie maar wilt tegelijkertijd ook graag je eigen opgedane kennis delen. Alles wat vandaag nog onbekend is, moet je morgen toepassen in de volgende uitdaging en dàt is wat jou scherp houdt. Je hebt geen zin in een 60-urige werkweek maar haalt wel plezier uit zo nu en dan een technische meeting,

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

05/07/2020 15:09:59
 
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.