Meerdere queries uit verschillen tabellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end Developer

Functieomschrijving Voor een erkende werkgever in de regio van Middelburg zijn wij op zoek naar een enthousiaste PHP / Symfony Developer. Een ambitieus persoon die het gemotiveerde development team komt versterken met het realiseren van nieuwe en complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor professionele groei? Dit ga je doen: Je bent verantwoordelijk voor de beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Java Developer / Sociaal domein

Dit ga je doen Nieuwbouw en doorontwikkeling; Beheer en wanneer nodig onderhoud; Bijdrage leveren in het functioneel- en technisch ontwerptraject; Analyseren van productie verstoringen; Meedenken over vernieuwingen en verbeteringen. Hier ga je werken De organisatie waar jij komt te werken focust zich op software development met een maatschappelijk tintje. De afdeling software ontwikkeling bestaat uit vijf verschillende scrum teams, met allen hun eigen focus gebied. Zo zijn er een aantal teams die zich focussen op specifieke applicaties, maar is er ook een team gericht op projecten. Binnen de organisatie staat innovatie en kwaliteit voorop. Een aantal applicaties draait nog op

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan

Bekijk vacature »

Software Developer C# / ASP .Net

Functie omschrijving Ben jij een software ontwikkelaar die bekend is met termen ASP .NET, C# en SQL? Lees dan snel verder! Voor een bedrijf binnen de agrarische sector zijn wij namelijk op zoek naar een zelfstandige, enthousiaste en proactieve Software Developer die open staat voor een afwisselende functie met veel uitdaging. Binnen deze organisatie ben jij als Software Developer samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Hierbij draag jij bij aan de vertaling van klantwensen naar effectieve softwareoplossingen. Daarnaast ben je verantwoordelijk voor: Schatten

Bekijk vacature »

Back end developer PHP

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 25 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Amersfoort gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

Team Lead Java Developer

Functie Wat ga je doen als Java developer? Als Team Lead Java Developer draag een grote verantwoordelijk je stuurt ontwikkelaars aan en staat dagelijks in contact met jou ICT Manager. De team Bestaat uit front-end en backend systemen. Je ben in staat op hoog niveau de technische vak te bepalen en ook te bewaren. Je dag zie er als volgt uit, ontwikkelen van nieuwe en bestaande applicaties, het uitvoeren van processen en analyses en het beschrijven van functioneel ontwerpen. Ook zal samen met jouw Tester applicaties gaan testen door middel van peer reviews en het leveren van support aan gebruikers

Bekijk vacature »

Front-end Developer vue.js node.js SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Frontend Guild. Hier ga je werken Voor een snel groeiend bedrijf de regio Nieuw Vennep zijn wij opzoek naar een ervaren Front-end Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een SaaS-platform.

Bekijk vacature »

.Net ontwikkelaar - Het schoolsysteem verbeteren!

Bedrijfsomschrijving Onze klant is een prettige en kleinschalige organisatie waar hard gewerkt wordt om het onderwijs te verbeteren. Daarom werken ze aan complexe om administratieve, financiële en facilitaire processen te versnellen en te verbeteren. Dit doen ze vanuit een platte organisatie voor klanten die door geheel Nederland verspreid zitten, hier horen vanzelfsprekend een aantal aansprekende HBO scholen en universiteiten toe. Functieomschrijving Je komt terecht in een organisatie waar op dit moment 2 scrumteams werken. Jij zal als .Net developer binnen 1 van deze scrumteams functioneren, iedereen binnen dit team heeft zijn/haar eigen expertise waardoor er met verschillende invalshoeken aan een

Bekijk vacature »

.NET Developer

Dit ga je doen Binnen het team bouw je aan een applicatie met andere .Net Developers, testers een Product Owner en een Business Analyst. Met het team wordt de backlog besproken. In overleg claim jij jouw deel en zorgt ervoor dat onderhoud en innovatie wordt gerealiseerd. Het project dat momenteel draait is het opgraden van de omgeving. Doorontwikkelen van de huidige applicatie; Overleggen met teamleden om de backlog te verdelen; Onderhouden van de huidige omgeving; Sparren met de business en het ophalen van nieuwe requirements. Hier ga je werken De organisatie is een van de grootste landelijke aanbieder van diverse

Bekijk vacature »

Full stack Python developer

Functie Samen met andere collega’s (een product owner, een software manager en een ervaren ontwikkelaar) ga jij onze producten verder ontwikkelen. Jouw verantwoordelijkheden zullen bestaan uit: – Verder wil gaan met de ontwikkeling van onze bestaande producten; nieuwe features! – Meedenkt over de roadmap van onze producten – Als sparringpartner kan optreden op het gebied van development – Zelf ook nieuwe ideeën op tafel durft te leggen en deze van scratch af aan wilt bouwen Hieronder ook een paar voorbeelden van projecten waar we momenteel mee bezig zijn of binnenkort aan willen beginnen: – Real-time interactie creëren in onze web

Bekijk vacature »

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

Bekijk vacature »

BizTalk/ Azure Developer

Dit ga je doen •Understanding the scope of required functionality, translate them within context of way of working of the team into developed solutions, whilst safeguarding documentation; •Planning based on assigned sprint tasks; •Acting as an expert in estimation techniques and planning; •Understanding your role in the agile process and act in this way; •Facilitating internal communication and effective collaboration; •Working closely with scrum master to handle backlogs and new requests; •Providing information to the third parties about activities and needs for compliance. Hier ga je werken Our client is a leading organization focusing on animal nutrition, offering solutions that

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

16/05/2024 00:27:56
 
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.