Meerdere queries uit verschillen tabellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Salesforce Developer

Functieomschrijving Do you want to help shape the global Salesforce environment of the world’s largest HR service provider, defining, building and continuously improving the solution 28.000 people will use on a daily basis? Helping shape the working life of over 500 million talented individuals? As part of building a global Salesforce programme we are looking for multiple experienced Salesforce Developers. You work closely with our Technical lead, product owner and other salesforce developers and consultants to implement and integrate a global package of features based on Sales Cloud, Services Cloud, Marketing Cloud and Bullhorn for Salesforce, including but not limited

Bekijk vacature »

Expert Mendix Developer - Public Transport

Expert Mendix Developer - Public Transport Functiebeschrijving: Ben jij een Expert Mendix Developer? Bij CGI Low Code Delivery Center krijg je een baan met inhoud! Werk dat ertoe doet, zoals het: Razendsnel ontwikkelen van slimme innovatieve maatwerk applicaties waarmee we onze klanten een voorsprong geven ten opzichte van hun concurrenten; Meedenken met de klant en analyseren wat er nodig is: je ziet kansen en mogelijkheden; Coachen en begeleiden van het team bij (nieuwe) projecten. Wat ga je doen? Als Expert Mendix Developer begeleid en adviseer je onze klanten bij hun aangegeven business problematiek. Hierbij denk je buiten de gevestigde kaders

Bekijk vacature »

Salesforce Developer

Wij zijn opzoek naar een ervaren Salesforce developer met passie voor zijn vak. Krijg jij energie van het oplossen van IT-gerelateerde complexe problemen? Heb je enkele jaren ervaring met Salesforce? Ben je die developer die zijn hand niet omdraait voor een integratie meer of minder?! Lees dan snel verder! Functieomschrijving Pro Industry is een snelgroeiende organisatie met inmiddels 21 vestigingen en een hoofdkantoor in Capelle a/d IJssel. Voor ons hoofdkantoor zoeken wij versterking op het gebied van development, met name gericht op Salesforce. Als Salesforce Developer programmeer jij in APEX moeiteloos verschillende integraties, bouw je lightning components en laat je

Bekijk vacature »

Low Code Developer

Heb jij passie voor software ontwikkeling en vind je het leuk om eindgebruikers snel te helpen door het realiseren van web en mobiele applicaties? Wil jij ervaring opdoen om van beginnend developer door te ontwikkelen naar een Full Stack ontwikkelaar? Dan is dit jouw topbaan! Met meer dan 100 bedrijven in verschillende product-marktcombinaties is geen dag hetzelfde bij VDL. Wat ga je doen? Als Low Code Developer ga je aan de slag om nieuwe applicaties te ontwikkelen op het gebied van web en mobiele applicaties die onder andere een Make To Order platform ondersteunen. Met behulp van bestaande bouwstenen ben

Bekijk vacature »

Oracle APEX Developer centraal in het land

Bedrijfsomschrijving Mijn opdrachtgever kan per direct versterking gebruiken van een Medior en/of Senior Oracle Apex specialist. Deze organisatie is in een rap tempo uitgegroeid tot een professionele organisatie met informeel karakter waardoor jij je als werknemer ook echt gewaardeerd voelt. Deze organisatie is het type bedrijf waar je als ondernemende developer graag voor wil werken omdat je zo veel kanten op kunt gaan. Het team van ongeveer 15 specialisten werken samen aan projecten middels de nieuwste Oracle technieken. Functieomschrijving Als Oracle/Apex developer werk je hier voor opdrachten in verschillende sectoren. In feite zorg jij voor de implementatie van de Oracle

Bekijk vacature »

Fullstack .NET developer

Bedrijfsomschrijving Deze MS Gold Partner is onderdeel van een grote internationale organisatie met vestigingen door heel Europa heen geworden. Hierdoor hebben ze toegang gekregen tot een heel groot klanten portfolio waar ze nu ook werk voor verrichten. Ze zijn sterk in Microsoft trajecten en dan met name in het O365 pakket. Hoewel ze nu dus onderdeel zijn geworden van een grote organisatie is de sfeer nog altijd heel familiair. De medewerkers krijgen veel vrijheid in hun functie en de deur staat bij iedereen open. Het nieuwe project waar jij ook aan zal komen te werken combineert en koppelt grote backend

Bekijk vacature »

Senior Software Developer

Bedrijfsprofiel: De Haardt BV is een klein bedrijf dat gevestigd is in Elst (Gelderland), met een grote naam in de rental kart wereld. Het bedrijf is 26 jaar oud en is een groot deel daarvan marktleider in de wereld met haar veiligheids- en timing systemen. Onze klanten noemen ons de autoriteit in de markt als het gaat om veiligheid. In Elst is De Haardt constant bezig met het verbeteren van haar producten en het ontwikkelen van nieuwe ideeën tot producten. Met 14 medewerkers, waarvan 10 ontwikkelaars, staat de focus op productinnovaties en dit gebeurt in een informele en prettige werkomgeving.

Bekijk vacature »

Developer (PHP)

Als PHP developer werk jij mee aan de uitbreiding van onze SaaS applicatie. Je bouwt aan nieuwe functionaliteiten, verbetert ons Content Management Systeem op basis van Symfony en optimaliseert de gebruiksvriendelijkheid. Je werkt aan een mooi product dat continu uitgebreid wordt en de potentie heeft om de wereld over te nemen! Naast het meewerken aan de uitbreiding van onze SaaS applicatie, werk je ook aan specifieke modules voor onze klanten. Klanten als Scania, Fletcher Hotels, Gamma of Aditech hebben jouw hulp nodig! Wil jij meewerken om onze ambitie waar te maken? We bieden: Een salaris tussen € 2200 en €

Bekijk vacature »

DevOps Engineer - Digitale Overheid

DevOps Engineer - Digitale Overheid Functiebeschrijving: Als DevOps engineer ga jij het verschil maken voor miljoenen mensen in Nederland en heeft direct positieve impact op onze samenleving. Je gaat namelijk werken in het hart van de Digitale overheid. Wat ga je doen? Als DevOps Engineer werk je mee aan het realiseren en door ontwikkelen van mooie en innovatieve oplossingen voor de Nederlandse overheid. Je hebt direct contact met alle stakeholders, waarbij jij zorgt dat requirements (functionele en niet-functionele) worden omgezet in een werkend product. Je bent onderdeel van een DevOps team, waarbij jij naast het ontwikkelen van de software, je

Bekijk vacature »

Front-end Developer

Front-end Developer Den Haag HBO/WO IT - software development Professional "Maak samen met ons de belangrijkste (data) supply chain van Nederland real-time visueel door als frontend developer aan de slag te gaan bij onze 'Digitale Ketensturing' afdeling. Wat ga je doen? PostNL heeft de ambitie om uit te groeien tot het meest efficiënte en innovatieve logistieke post en e-commerce platform in de Benelux. Daarom bouwen wij aan een afdeling genaamd ‘Digitale Ketensturing’. Ons doel is het digitaliseren van onze volledige pakketten supply chain (gemiddeld 1,1 miljoen pakketten per dag), deze data gedreven en inzichtelijk maken voor gebruikers. Zo zorgen we

Bekijk vacature »

Trainee Pega developer

Vind jij het leuk om echte business software te maken zonder daarvoor gedetailleerde code te hoeven schrijven? Voor ons hoofdkantoor in Waalwijk zoeken wij een trainee Pega developer voor 36-40 uur per week. Vind jij het leuk om echte business software te maken zonder daarvoor gedetailleerde code te hoeven schrijven? Wij leren je werken met het innovatieve platform van Pega en jij verovert de wereld in elke fase van de digitalisering van ons bedrijf. De Mandemakers Groep, een huis vol mogelijkheden. Je neemt deel aan een geweldig traject. We zijn bezig met de invoering van Customer Service, Sales Automation en

Bekijk vacature »

Operations Analytics SAP HANA Developer

In this role you will be responsible for the design, build and the technical support of our Analytics solutions built on mostly SAP HANA and SAP HANA Cloud. You will be part of a team building and supporting the Data & Analytics services, focused on enterprise data of the Operations Sector. Functie As a member of the IT Big Data & Analytics team you are part of a team of best-in-class engineers, organized in Agile teams. Our mission is to translate the business challenges into Data & Analytics solutions. You will be part of one of our DevOps teams, working

Bekijk vacature »

Systeem Beheerder - ICT specialist

Wil je graag meebouwen aan een prachtige, internationale organisatie in een hightech branche? Ben je op zoek naar een baan in een afwisselende en levendige werkomgeving? Waar elke dag anders is en een beroep wordt gedaan op je creativiteit, flexibiliteit? Teesing is een sterk groeiende en toonaangevende organisatie met een uitgekiend assortiment van hoogwaardige producten. Wegens uitbreiding van ons team zijn we direct op zoek naar een ambitieuze: SYSTEEM BEHEERDER - ICT SPECIALIST (fulltime) Wat ga je doen als Systeem Beheerder bij Teesing BV? Als Systeem Beheerder werk je samen en in overleg met onze externe service provider. Je bent

Bekijk vacature »

Agile Test Engineer - Digitale Overheid

Agile Test Engineer - Digitale Overheid Functiebeschrijving: Heb jij ervaring met testautomatisering en testen van kritische applicaties? Wil je graag het verschil maken voor onze projecten binnen de sector overheid en daarmee direct maatschappelijke impact maken ? Wat ga je doen? Als ervaren Test Engineer ben je verantwoordelijk voor het opzetten en onderhouden van een Test Automation Framework en de integratie ervan in het Development- en Deliveryproces. Jij bent testtooling specialist in SoapUI, Postman, Selenium, FitNesse en/of Robot Framework. Jij deinst niet terug van coding in een IDE, SQL Query’s richting de database en het gebruik van state-of-the-art test tools.

Bekijk vacature »

Data Engineer

Data Engineer Utrecht Wil jij samen met onze IT experts uit verschillende disciplines samenwerken aan het digitaliseren en future-proof maken van onze betaaloplossingen? En sta je open voor internationale uitdagingen? Dan is dit de baan die bij jou past! Jouw verantwoordelijkheden Als Data Engineer maak je deel uit van ons Business Acceleration Center (BAC). Je bent verantwoordelijk voor het bouwen en onderhouden van onze databases. Tevens maak je deze klaar om Europees aan elkaar te kunnen koppelen. Je hebt contacten met alle Europese collega's om te kunnen komen tot een goede en veilige koppeling. Met jouw kennis en ervaring ben

Bekijk vacature »
Karina Six

Karina Six

05/12/2021 16:51:57
Quote Anchor link
Hi! Ik ben sinds enkele weken bezig met PHP te leren, nu zit ik met een issue waar ik maar niet uit geraak.

Ik zou graag twee id's uit twee verschillende tabellen selecteren. En met deze id's een derde tabel vullen. De id's zijn dus eigenlijk foreign keys (als ik het goed heb). Aan de hand van een ingevuld formulier verkrijg ik de info 'Productnaam' (uit tabel Product) en 'Voornaam','Familienaam' (uit tabel Klant) en het Aantal.

Dus met een 'Select'-query dacht ik zo de id's te verkrijgen uit de twee verschillende tabellen. Het lukt me niet om deze samen in één query te zetten. Aangezien de tabellen geen gemeenschappelijke kolommen hebben, leek een JOIN geen optie. Ik dacht ze dus in twee aparte te zetten? (zie stukje code onderaan)

BV:
tabellen

Product: id, productnaam, prijs
Klant: id, voornaam, familienaam
aankoop: klantId, productId, aantal

Tips om mij verder op weg te helpen?

Vriendelijk bedankt,
Karina

Ter illustratie: (Ik heb ook al geprobeerd de twee queries in één variable onder te brengen gescheiden met een ' ; ' maar dit zorgde voor wat errors.)

public function getIds(string $familienaam, string $voornaam, string $productnaam, int $aantal)
{
$sql = "select id as productId from producten where productnaam = :productnaam";
$sql2 = "select id as klantId from modules where familienaam = :familienaam and voornaam = :voornaam";
 
PHP hulp

PHP hulp

25/01/2022 16:07:25
 
Ivo P

Ivo P

05/12/2021 17:26:24
Quote Anchor link
om je formulier te vullen, heb je 2 query's nodig:
1 om je producten op te halen
1 om je klanten te vinden.

De aankopen kun je wel in 1 query ophalen: (voorbeeld voor klant met id = 123)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
SELECT k.id klantid,
       k.voornaam,
       k.achternaam,
       p.id productid,
       p.productnaam
FROM Klant k
JOIN aankoop ak ON k.id = ak.klantId
JOIN Product p ON p.id = ak.productId
WHERE k.id = 123


Je moet trouwens de prijs ook opslaan in de aankoop: als je later de prijs aanpast, weet je niet meer wat de klant moe(s)t betalen
 
Karina Six

Karina Six

05/12/2021 19:51:54
Quote Anchor link
Dag Ivo, hartelijk bedankt voor de feedback! Ik krijg nog steeds een foutmelding:

Warning: foreach() argument must be of type array|object, bool given in /XXX/doc.php on line 55

Zou het kunnen omdat er geen resultaten in de array terecht komen? Ter info: de tabel aankopen is voorlopig leeg, maar aangezien ik niets ophaal uit die tabel zou dit geen problemen mogen opleveren?

Hier het volledige deel. Zoals je zit wil ik met de resultaten een object maken.

public function getArray(string $familienaam, string $voornaam, string $product, int $aantal)
{
$sql = "select k.id as klantId,
k.voornaam,
k.familienaam,
p.id as productId,
p.naam,
p.prijs
from klanten k
join aankopen ak ON k.id = ak.persoonId
join producten p ON p.id = pu.productId
where p.naam = :product and k.familienaam = :familienaam and k.voornaam = :voornaam";
$dbh = new PDO($this->dbConn, $this->dbUsername, $this->dbPassword);

$stmt = $dbh->prepare($sql);

$stmt->execute(array(
':familienaam' => $familienaam,
':voornaam' => $voornaam,
':product' => $product
));


$resultSet = $stmt->fetch(PDO::FETCH_ASSOC);

$lijst = array();
foreach ($resultSet as $rij) {
$aankoop = new Aankoop(
(int)$rij["klantId"],
$rij["voornaam"],
$rij["familienaam"],
$rij["productId"],
$rij["naam"],
$rij["prijs"]);
array_push($lijst, $aankoop);
}

$dbh = null;
return $lijst;
}
 
- Ariën -
Beheerder

- Ariën -

05/12/2021 20:03:05
Quote Anchor link
We hebben ook code-tags voor codes.

Wat zegt var_dump?
 
Karina Six

Karina Six

05/12/2021 20:19:24
Quote Anchor link
- Ariën - op 05/12/2021 20:03:05:
We hebben ook code-tags voor codes.

Wat zegt var_dump?


Hi,
Wanneer ik var_dump doe bij $resultSet, krijg ik dit. De variabelen in de foreach-loop hebben bijgevolg geen waarde.

bool(false)
Warning: foreach() argument must be of type array|object, bool given in /opt/XX/doc.php on line 56
array(0) { }
Warning: Undefined variable $punten in /opt/XXX.php on line 67
NULL
 
- Ariën -
Beheerder

- Ariën -

05/12/2021 20:31:42
Quote Anchor link
Bouw eens foutafhandeling in?

En plaats je code graag tussen codetags.
 
Karina Six

Karina Six

06/12/2021 19:10:33
Quote Anchor link
- Ariën - op 05/12/2021 20:31:42:
Bouw eens foutafhandeling in?

En plaats je code graag tussen codetags.


Hi, blijkt dat mijn SQL-statement niet correct is. Als ik ze test in myPhpAdmin, blijkt één kolomn bij elke waarde 'null' te geven, al zijn er gegevens voor deze id. Ook wanneer ik de beide 'RIGHT JOIN' doe of 'LEFT JOIN - RIGHT JOIN', 'RIGHT JOIN-LEFT JOIN'.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT k.id,
p.id
from klanten k
LEFT JOIN aankopen ak on k.id = ak.klantId
LEFT JOIN producten p on p.id = ak.productId
 
Adoptive Solution

Adoptive Solution

06/12/2021 20:20:46
 
Karina Six

Karina Six

06/12/2021 21:05:40
Quote Anchor link
Adoptive Solution op 06/12/2021 20:20:46:


Hi, wanneer ik inner join gebruik, krijg ik geen resultaten terug. Ter info: de tabel aankopen is voorlopig leeg. Dus wat ik wil verkrijgen is de id van zowel klanten als producten aan de hand van een invulformulier.

BV. Ik vul in formulier: Klant Peeters koopt Wasmachine. Met een 'where'-statement wil ik zo de juist ID's verkrijgen uit de twee tabellen. ik krijg hierbij nog steeds een foutmelding ter hoogte van 'p.id where ... '

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
SELECT k.id where familienaam = :familienaam,
p.id where productnaam = :productnaam
from klanten k
INNER JOIN aankopen ak on k.id = ak.klantId
INNER JOIN producten p on p.id = ak.productId
 
Ivo P

Ivo P

07/12/2021 10:45:59
Quote Anchor link
Er is geen link tussen die klant en dat product: hij heeft hem nog niet gekocht.

Nu zal er vast wel een of andere exotische query mogelijk zijn om middels een of andere outer join tussen klant en producten alles van beide te verkrijgen, maar dan waarschijnlijk in de aantallen "veel te veel".

Dus iets met 1000 producten en 200 klanten levert je 200.000 records met alle mogelijke combinaties op.

Veel eenvoudiger is het om je lijstje te bouwen met 2 losse query's:
een om alle producten op te halen
en een om alle klanten op te halen (al heb je hopelijk snel zo veel klanten dat je die niet allemaal in 1 lijstje wilt tonen).

Daarna schiet je klant_id en product_id (plus wat info als datum en prijs en aantallen) in de tabel Aankopen.
En dan kun je info ophalen over "wie" en "wat" gekocht is.
 
Karina Six

Karina Six

07/12/2021 13:07:52
Quote Anchor link
Ivo P op 07/12/2021 10:45:59:
Er is geen link tussen die klant en dat product: hij heeft hem nog niet gekocht.

Nu zal er vast wel een of andere exotische query mogelijk zijn om middels een of andere outer join tussen klant en producten alles van beide te verkrijgen, maar dan waarschijnlijk in de aantallen "veel te veel".

Dus iets met 1000 producten en 200 klanten levert je 200.000 records met alle mogelijke combinaties op.

Veel eenvoudiger is het om je lijstje te bouwen met 2 losse query's:
een om alle producten op te halen
en een om alle klanten op te halen (al heb je hopelijk snel zo veel klanten dat je die niet allemaal in 1 lijstje wilt tonen).

Daarna schiet je klant_id en product_id (plus wat info als datum en prijs en aantallen) in de tabel Aankopen.
En dan kun je info ophalen over "wie" en "wat" gekocht is.

Dag Ivo,

Bedankt! Dat brengt mij bij een volgende vraag, kan ik deze twee queries in één variable onderbrengen? Ik zou ze graag in één functie uitwerken en met die gegevens een object maken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
            $sql = "select k.id as persoonId from klanten k where familienaam = :familienaam;  
            select p.id as productId from product p where naam = :naam";
 
Adoptive Solution

Adoptive Solution

07/12/2021 13:10:50
 
- Ariën -
Beheerder

- Ariën -

15/12/2021 11:39:52
Quote Anchor link
*Spambericht verwijderd*
 



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.