Query probleem JOIN

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

Bekijk vacature »

Front-end Developer (HTML/CSS, Angular/React/Vue,

Functie Je zal aan de slag gaan in een klein, hecht team met front-end development experts die de ambitie delen mooi werk te leveren. Samen met hen zal je werken aan het gebruiksvriendelijk en interactief maken van complexe webapplicaties, websites en mobile apps. Je levert klanten wat ze nodig hebben terwijl je actief aan jezelf blijft werken met de ondersteuning vanuit je werkplek. Talen als Javascript programmeer jij vloeiend en je hebt kennis van frameworks als React en Angular. Je zou je het liefst nog veel meer ontwikkelen in verschillende front-end talen. Deze kennis deel je graag met je collega’s,

Bekijk vacature »

ERP Developer fleet managementsysteem

Wat ga je doen als ERP Developer fleet managementsysteem? Als ERP developer speel jij een belangrijke rol bij het doorvoeren van wijzigingen en verbeteringen binnen het fleet managementsysteem. Jouw expertise op het gebied van ERP systemen stelt jou in staat om de applicatie optimaal te laten functioneren en te blijven ontwikkelen. Als lid van het IT-team werk je nauw samen met andere developers en het business team om het fleet managementsysteem te integreren met andere systemen. Je bent verantwoordelijk voor het ontwikkelen van nieuwe functionaliteiten en het implementeren van verbeteringen op basis van de wensen en eisen van onze klanten.

Bekijk vacature »

Senior Organisatieontwikkelaar

Als Organisatieontwikkelaar zorg je ervoor dat we in het magazijn van Coolblue altijd vooruit voetballen op het gebied Medewerker en Organisatie Ontwikkeling. Zo draag je bij aan een toekomstbestendig magazijn waar we klanten én medewerkers elke dag blijven verwonderen. Wat doe je als Senior Organisatieontwikkelaar bij Coolblue? Als Organisatieontwikkelaar werk je voor het magazijn van Coolblue. Je krijgt er energie van om continue te bouwen aan een toekomstbestendige organisatie. Dat doe je samen met 17 collega's in het HR-team, ieder met een eigen specialisme. Je werkt graag zelfstandig en je weet snel je weg te vinden als verandermanager. Ook ben

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden je MBO of HBO ICT in ontvangst mogen nemen? Of ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een uitdagende werkgever in de regio van Tilburg zijn wij op zoek naar een ambitieuze back-end programmeur met affiniteit met MS Acess. Samen met een enthousiast team ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL, Maar affiniteit met MS Acess is nog belangrijker. Je bent sociaal naar klanten en flexibel ingesteld. Je denkt altijd in kansen en gaat graag de uitdaging aan. Verder

Bekijk vacature »

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

Medior/senior PHP ontwikkelaar E-commerce

Functie Het software development team bestaat momenteel 5 scrum teams . Ieder team heeft een eigen SCRUM Master en eigen tester. Zij werken voornamelijk in PHP en met hun eigen geschreven framework wat Symfony based is . Jij bent samen met je collega’s verantwoordelijk voor het interne softwaresysteem en alle projecten die daar omheen lopen. Alles wat jij ontwikkelt, wordt direct toegepast en uitgerold (wereldwijd). Dit maakt jouw werk tastbaar en uitdagend! Een greep uit jouw werkzaamheden: Toevoegen en ontwikkelen van nieuwe functionaliteiten Logistieke software ontwikkelen voor intern gebruik Tientallen gigabytes aan data inzichtelijk maken Altijd op zoek gaan naar

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 »

Medior Java developer (fullstack)

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 »

Low-Code Expert/Developer: Power Platform Speciali

Bedrijfsomschrijving Als Low-Code Expert/Developer bij ons innovatieve bedrijf, neem je een cruciale rol op je in de creatie, ondersteuning en implementatie van diverse oplossingen met behulp van het veelzijdige Power Platform. Dit platform omvat Power Apps, Power BI, Power Automate, Power Virtual Agent en Azure Logic Apps. Het Power Platform biedt je de mogelijkheid om klanten te voorzien van naadloze integraties door op maat gemaakte oplossingen te creëren die compatibel zijn met (bijna) alle bestaande software-infrastructuren. Dankzij het uitgebreide scala aan toepassingen, krijg je de kans om als architect en projectleider van je eigen oplossing te fungeren. Dompel jezelf onder

Bekijk vacature »

Backend developer

Functie omschrijving Ben jij graag bezig met de back-end van applicaties? Zou je dit graag willen doen voor een kleine werkgever waar ook tijd is voor een drankje op zijn tijd? Je taken hierbij zullen bestaan uit: Gebruik maken van de volgende technieken: .NET (core), C#, SQL, XML, MVC, JSON, REST & SOAP API. Gebruik maken van de volgende tools: Visual Studio, GIT, Jira, Jenkins. Bovengenoemde technieken en tools ga je gebruiken om: Nieuwe functionaliteiten te ontwikkelen. Wijzigingsverzoeken van klanten uitvoeren. Verzorgen van koppelingen tussen data. Bedrijfsprofiel Jouw nieuwe werkgever bevindt zich in regio Raamdonksveer en bieden oplossingen op gebied

Bekijk vacature »

Embedded Developer C++

Functie omschrijving Ben jij op zoek naar een leuke uitdaging als Embedded Developer, zoek dan niet verder! Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een Embedded Developer die graag met Embedded Devices werkt. Je zult verantwoordelijk worden voor het ontwikkelen en onderhouden van diverse producten. Jouw specialisatie ligt op het vlak van software, hardware en back-end. Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Rotterdam! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Barendrecht! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

Bekijk vacature »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »
D B

D B

05/06/2013 18:55:59
Quote Anchor link
Ik heb de volgende query:
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
27
28
29
30
31
32
33
34
<?
$query
= "
    SELECT
        l.id,
        l.voornaam,
        l.achternaam,
        team.team,
        s.goals
    FROM
        Leden AS l
    LEFT JOIN
        Statistieken AS s
    ON
        (l.id = s.leden_id)
    LEFT JOIN
        Teamindeling AS t
    ON
        (t.leden_id = l.id)
    LEFT JOIN
        Teams AS team
    ON
        (t.team_id = team.id)
    WHERE
        team.leeftijd='Senioren'
    AND
        l.spelend = 'X'
    AND
        ( s.seizoen = '"
. $seizoen. "' OR s.seizoen IS NULL )
    GROUP BY
        l.id
    ORDER BY
        s.goals DESC
    "
;
?>

Helaas geeft hij geen resultaat als s.seizoen niet bestaat, terwijl ik dan eigenlijk 0 terug wil krijgen.

Kan iemand mij vertellen waar het fout loopt?
Gewijzigd op 05/06/2013 19:20:16 door D B
 
PHP hulp

PHP hulp

17/11/2024 18:42:25
 
Aad B

Aad B

05/06/2013 20:22:59
Quote Anchor link
Kijk eens naar outer join voor tabel statistieken
Gewijzigd op 05/06/2013 20:35:41 door Aad B
 
D B

D B

05/06/2013 20:30:15
Quote Anchor link
Heb hem nu wel werkend, maar ik krijg nu alle goals van andere seizoenen ook te zien.

Mijn statistieken tabel ziet er zo uit

STATISTIEKEN
leden_id
goals
seizoen

Dit is mijn query:
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
27
28
29
30
31
32
33
34
<?
$query
= "
    SELECT
        l.id,
        l.voornaam,
        l.achternaam,
        team.team,
        s.goals
    FROM
        Leden AS l
    LEFT JOIN
        Statistieken AS s
    ON
        (l.id = s.leden_id)
    LEFT JOIN
        Teamindeling AS t
    ON
        (t.leden_id = l.id)
    LEFT JOIN
        Teams AS team
    ON
        (t.team_id = team.id)
    WHERE
        team.leeftijd='Senioren'
    AND
        l.spelend = 'X'
    AND
        t.seizoen = '"
. $seizoen. "'
    GROUP BY
        l.id
    ORDER BY
        s.goals DESC
    "
;
?>


Hij toont nu dus alle namen, alleen staat er bij bijvoorbeeld mij 2 goals, terwijl die uit een ander seizoen zijn. Als ik deze weg laat: dus s.seizoen = 'DitSeizoen' toevoegen, krijg ik heel mijn naam niet meer te zien.

Begrijp je?

Alvast bedankt voor de hulp
 
Aad B

Aad B

05/06/2013 20:36:29
Quote Anchor link
Ga terug naar je eerste query en verander
LEFT JOIN
Statistieken AS s
in
LEFT OUTER JOIN
Statistieken AS s
Gewijzigd op 05/06/2013 20:37:51 door Aad B
 
D B

D B

05/06/2013 20:42:44
Quote Anchor link
Als ik nu mijn seizoen op 2012/2013 zet (waar de meeste goals in zijn gevallen werkt het perfect)

Maar nu verander ik mijn seizoen naar 2013/2014 en nu krijg ik alle mensen te zien, behalve de mensen die bij seizoen 2012/2013 al goals hebben staan.

Deze spelers moeten eigenlijk dus ook weer gewoon zichtbaar worden.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

06/06/2013 08:12:09
Quote Anchor link
Aad B op 05/06/2013 20:36:29:
Ga terug naar je eerste query en verander
LEFT JOIN
Statistieken AS s
in
LEFT OUTER JOIN
Statistieken AS s

Aad, dat heeft geen enkel effect. OUTER is optioneel en maakt dus geen enkel verschil.

@D B
Probeer dit eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
SELECT
        l.id,
        l.voornaam,
        l.achternaam,
        team.team,
        COALESCE(s.goals, 0) AS goals
    FROM
        Leden AS l
    LEFT JOIN
        statistieken AS s
    ON l.id = s.leden_id AND s.seizoen = '2013/2014'

En dan de rest van je query
 
D B

D B

06/06/2013 17:40:57
Quote Anchor link
Dit was inderdaad de oplossing.

Nu vraag ik me nog 1 ding af:

Zoals jullie zien heb ik nogal wat JOINS in mijn query, is het niet mogelijk om tabellen standaard aan elkaar te koppelen? Of is dit normaal? Of is mijn structuur waarschijnlijk zeer minimaal waardoor ik veel JOINS nodig heb?

Bedankt Ger, en Aad natuurlijk ook voor het meedenken!
 
Erwin H

Erwin H

06/06/2013 18:37:51
Quote Anchor link
Je kan een view definieren waaruit je vervolgens de benodigde kolommen selecteert. Over het algemeen zijn views niets anders dan virtuele tabellen, in sommige gevallen kan er wel een performance verlies zijn.

Een view definieer je op je database en vanaf het moment dat je de view hebt aangemaakt kan je die gewoon gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
CREATE VIEW v_leden AS
    SELECT
        l.id,
        l.voornaam,
        l.achternaam,
        team.team,
        COALESCE(s.goals, 0) AS goals
    FROM
        Leden AS l
    LEFT JOIN
        statistieken AS s
    ON l.id = s.leden_id AND s.seizoen = '2013/2014';

vervolgens kan je de kolommen uit de view selecteren al ware het een normale tabel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT id, voornaam, achternaam, goals
FROM v_leden;

Let wel dat je in een view geen variabele op kunt nemen. Bovenstaande view zou dus alleen voor seizoen 2013/2014 zijn, wat je normaal gesproken waarschijnlijk niet wilt hebben. Zou je namelijk een ander seizoen willen hebben dan kan je de view niet meer gebruiken.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

07/06/2013 11:20:01
Quote Anchor link
D B op 06/06/2013 17:40:57:
Zoals jullie zien heb ik nogal wat JOINS in mijn query, is het niet mogelijk om tabellen standaard aan elkaar te koppelen? Of is dit normaal? Of is mijn structuur waarschijnlijk zeer minimaal waardoor ik veel JOINS nodig heb?

3 is niet veel ;-), ik heb wel eens query's met 10 of meer joins.

Zoals Erwin al aangaf is een view een optie, maar niet altijd een goede optie.
MySQL kent geen materialized views, dus een view kan niet worden geïndexeerd.
 



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.