Query aanpassen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Java Developer

Als Senior Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

C# .NET Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf. Lees dan snel verder! Voor deze functie zoeken wij een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Daarnaast begeleid je complexe projecten, wij zoeken iemand die altijd kansen ziet en waarbij het glas altijd half vol is. Voor deze functie zoeken wij een Developer met ervaring op het gebied van .NET die deze organisatie gaat versterken. Binnen de organisatie ga jij je vooral bezighouden met het verbeteren van

Bekijk vacature »

Belastingdienst - Freelance Senior Cobol Applicati

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 7 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: In de applicatie ETM zijn nu de inningsvoorzieningen voor ongeveer 25 aangifte- en aanslagmiddelen opgenomen. ETM is een extern aangeschafte service en het huidige contract met leverancier Oracle loopt af op 31-12-2022. Het programma uitfaseren ETM heeft als doel om vervanging te realiseren waarmee alle nu in gebruik zijnde ETM ondersteuning wordt overgenomen in nieuwe Inningsvoorzieningen om de continuïteit van de inningsprocessen te waarborgen. Eén van de inningsvoorzieningen die voor het einde van 31-12-2022

Bekijk vacature »

Junior .NET developer

Functie Jij hebt natuurlijk net jouw Bachelor op zak en gaat nu voor het eerst aan de slag bij een werkgever als junior .NET ontwikkelaar. Waarschijnlijk lijkt het jou spannend om ineens aan de slag te gaan bij klanten in de consultancy. Maak je niet druk, jij komt hier terecht in een warm bad en wordt totaal niet in het diepe gegooid. Zodra jij hier begint wordt jij gekoppeld aan een persoonlijke manager met een persoonlijk ontwikkelplan. Jij krijgt een scala aan trainingen, denk aan trainingen ten behoeve van het opdoen van zelf kennis en gedragscompetenties, maar ook trainingen voor

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn ze op zoek naar een Technische front end developer. Momenteel hun front end back end team gescheiden aan het werk. Hier willen ze verandering in krijgen. Omdat ook veel interne applicaties ontwikkeld worden zoeken ze iemand die hen kan helpen om de interne applicaties te voorzien van de juiste Vue.js componenten. Zodoende willen ze de interactie tussen front end en back end versoepelen en de volgende stap binnen het platform gaan zetten. Deze componenten die jij ontwikkeld zullen in elk project gebruikt worden. Het back end team bestaat momenteel uit 8 ontwikkelaars

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

Bekijk vacature »

Lead React Developer

Dit ga je doen Als Lead React Developer zul jij je voornamelijk gaan bezighouden met: Het werken aan tal van uiteenlopende projecten waar gloednieuwe (web)applicaties van scratch af aan ontwikkeld worden met o.a. React (Native) en Drupal; Het aansturen van een team bestaande uit 5-6 talentvolle en gedreven ontwikkelaars; Het adviseren en meedenken over nieuwe (technische) oplossingen en te gebruiken tools/frameworks; Het meedenken over de architectuur en de juiste implementatiebeslissingen maken; De doorontwikkeling van huidige applicaties. Hier ga je werken Als je inderdaad een ervaren Lead React Developer bent die zichzelf graag nog verder wil ontwikkelen dan is het goed

Bekijk vacature »

No-Code Betty Blocks ontwikkelaar

Bedrijfsomschrijving Wil jij de bedrijfsprocessen van klanten revolutionair digitaliseren en optimaliseren zonder beperkt te worden door programmeertalen? Kom werken bij een snelgroeiende en professionele organisatie met een gezonde dosis humor en veel vrijheid om jezelf te ontwikkelen. Als No-Code Betty Blocks ontwikkelaar werk je vanuit ons kantoor in het hart van Nederland, je thuiswerkplek of op locatie bij de klant. We faciliteren de juiste trainingen en ondersteuning zodat je een echte Betty Blocks expert wordt. Naast het werk zijn er bij ons bijzondere events, zoals een jaarlijkse zeildag, een zomerse barbecue en een knus kerstdiner om de grillige maanden door

Bekijk vacature »

.NET Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

C# Developer

Dit ga je doen Je gaat aan de slag in het websites team of portals team waarin je je bezighoudt met concept & design, implementatie en ook een stukje bugfixing en onderhoud; Je werkt met je team volgens de Scrum werkwijze; Zo adviseer je ook de PO & Scrum Master over de technische architectuur, koppelingen en integratie met externe systemen en API’s; Je blijft op de hoogte van de laatste ontwikkelingen en trends op het gebied van C# / .NET en deelt deze kennis binnen de organisatie. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »
D B

D B

15/05/2014 21:40:32
Quote Anchor link
Hallo,

Ik heb een werkende query namelijk:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
SELECT
            lid.voornaam,
            lid.achternaam,
            lid.teams,
            lid.id,
            COUNT(g.leden_id) aantal_goals
        FROM
                (SELECT
                l.id,
                l.voornaam,
                l.achternaam,
                t.team AS teams
            FROM
                Leden AS l
            JOIN
                Teamindeling AS ti
            ON
                (l.id = ti.leden_id)
            JOIN
                Teams AS t
            ON
                (t.id = ti.team_id)
            WHERE
                ti.taak = 'Speler'
            AND
                ti.seizoen = '2013/2014'
            AND
                t.leeftijd = 'Junioren'
            GROUP BY
                l.id,
                l.voornaam,
                l.achternaam
                ) AS lid
        LEFT JOIN
            Goals AS g
        ON
                (lid.id = g.leden_id) AND g.seizoen = '". $seizoen. "' AND g.wie LIKE 'ZSC%'
        LEFT JOIN
            Wedstrijden AS w
        ON
                (g.wedstrijd_id = w.id)
        WHERE
            w.soort = 'Competitie'
        GROUP BY
            lid.voornaam,
            lid.achternaam,
            lid.teams
        ORDER BY
            lid.teams,
            aantal_goals DESC


Nu telt deze query per team uit hoeveel goals een persoon gemaakt heeft (ook als deze goals heeft gemaakt in een ander team telt hij deze mee)

Wat ik nu graag zou willen is dat hij per persoon uittelt hoe vaak hij per team gescoord heeft.

Dus wat ik nu krijg:

Jantje - 3 goals A1 (1x in A1 , 2x in B1)
Pietje - 3 goals A1 (3x in A1)
----------
Klaasje - 1 goal B1

Wat ik dus zou willen:

Pietje - 3 goals A1
Jantje - 1 goal A1
----------
Jantje - 2 goals B1
Klaasje - 1 goal B1

Hoe kan ik deze query aanpassen dat hij dus de goals per persoon per team telt.
Ik heb zelf al vanalles geprobeerd maar zie het helaas niet meer.

Hoop dat het een beetje duidelijk is.

Alvast bedankt!
 
PHP hulp

PHP hulp

29/03/2024 11:57:18
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

16/05/2014 09:10:26
Quote Anchor link
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
SELECT
    t.team,
    l.voornaam,
    l.achternaam,
    COUNT(g.leden_d) AS aantal_goals
FROM
    teams t
JOIN
    team_indeling ti
    ON t.id = team_id
JOIN
    leden l
    ON ti.leden_id = l.id
LEFT JOIN
    goals g
    ON l.id = g.leden_id AND g.seizoen = '2013/2014' AND g.wie LIKE 'ZSC%'
LEFT JOIN
    wedstrijden w
    ON g.wedstrijd_id = w.id AND w.soort = 'Competitie'
WHERE
    ti.taak = 'Speler'
    AND ti.seizoen = '2013/2014'
    AND t.leeftijd = 'Junioren'
GROUP BY
    t.team,
    l.voornaam,
    l.achternaam
ORDER BY
    t.team, aantal_goals DESC
 
D B

D B

16/05/2014 10:07:03
Quote Anchor link
Hallo Ger,

Bedankt alvast voor het meedenken. Helaas werkt het nog niet helemaal.

Voorbeeld: http://www.zscwesterhoven.nl/test.php?o=1

Ik zal proberen mijn databasestructuur nog wat verder uit te leggen, dan komen we er hopelijk wel uit.

Leden -
id 1
voornaam Jan
achternaam Test

Wedstrijden
id 1
team_1 ZSC C1
team_2 TEST C1
soort Competitie
competitie ZSC C1
seizoen 2013/2014

Goals
id 1
wedstrijd_id 1
leden_id 1
wie ZSC C1
minuut 10
seizoen 2013/2014

Teams
id 1
team ZSC C1
volgorde 2
seizoen 2013/2014
leeftijd Junioren

Teamindeling
id 1
team_id 1
leden_id 1
taak Speler
seizoen 2013/2014

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
35
36
37
38
    $query = "
        SELECT
            t.team,
            l.voornaam,
            l.achternaam,
            COUNT(g.leden_id) AS aantal_goals
        FROM
            Teams t
        JOIN
            Teamindeling ti
        ON
            t.id = team_id
        JOIN
            Leden l
        ON
            ti.leden_id = l.id
        LEFT JOIN
            Goals g
        ON
            l.id = g.leden_id AND g.seizoen = '". $seizoen. "' AND g.wie LIKE 'ZSC%'
        LEFT JOIN
            Wedstrijden w
        ON
            g.wedstrijd_id = w.id AND w.soort = 'Competitie'
        WHERE
            ti.taak = 'Speler'
        AND
            ti.seizoen = '". $seizoen. "'
        AND
            t.leeftijd = 'Junioren'
        GROUP BY
            t.team,
            l.voornaam,
            l.achternaam
        ORDER BY
            t.team,
            aantal_goals DESC
    ";



Toevoeging op 16/05/2014 17:14:23:

De bovenste persoon van de B1 bijvoorbeeld had in de B1 9 doelpunten moeten hebben, en hoort ook in het rijtje A1 thuis, met 2 doelpunten.

Hier nog een plaatje als ik in kolom Goals kijk voor deze persoon:

http://www.zscwesterhoven.nl/uitlegplaatje.jpg
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

16/05/2014 18:29:47
Quote Anchor link
Dat het aantal doelpunten niet klopt, kan ik wel thuisbrengen, maar dat maar iemand maar bij één team wordt weergegeven niet.
In ieder geval moet je bij de join van de goals LIKE 'ZSC%' veranderen in g.wie = t.team
 
D B

D B

17/05/2014 00:10:09
Quote Anchor link
Hallo Ger,

Allereerst weer bedankt voor je hulp. Nu ik dit veranderd heb kloppen het aantal goals wel. Helaas zie ik de namen nog steeds maar bij 1 team, wat kan ik je nog aan extra info@ geven zodat we ook daar uit kunnen komen?

Als laatste nog: Er bestaat bij die Goals tabel ook een leden_id 0, dit is een eigen doelpunt, omdat er geen Lid 0 bestaat komen deze volgens mij dus ook niet in de lijst. Is het mogelijk om daar toch Eigen goals - Aantal te krijgen?

Groetjes!

Toevoeging op 17/05/2014 09:06:49:

Kan het misschien zo zijn dat hij de speler niet bij de andere teams laat zien omdat de speler niet in de teamindeling van dat elftal staat?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/05/2014 09:57:00
Quote Anchor link
Als een speler niet bij de teamindeling van een team staat wordt die niet meegenomen in deze query.

Als het goed is in deze wel:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
SELECT
    t.team,
    l.voornaam,
    l.achternaam,
    COUNT(g.leden_id) AS aantal_goals
FROM
    teams t
JOIN
    (SELECT
        team_id,
        leden_id,
    FROM
        team_indeling
    WHERE
        seizoen = '2013/2014'
        AND
        taak = 'Speler'
    UNION
        SELECT DISTINCT
            tt.team_id
            go.leden_id
        FROM
            goals go
        JOIN
            teams tt
            ON go.wie = tt.team
        WHERE
            tt.leeftijd = 'Junioren' AND go.seizoen = '2013/2014'    
    ) ti
    ON t.id = ti.team_id
JOIN
    leden l
    ON ti.leden_id = l.id AND
LEFT JOIN
    goals g
    ON l.id = g.leden_id AND g.seizoen = '2013/2014' AND g.wie = t.team
LEFT JOIN
    wedstrijden w
    ON g.wedstrijd_id = w.id AND w.soort = 'Competitie'
WHERE
    t.leeftijd = 'Junioren'
GROUP BY
    t.team,
    l.voornaam,
    l.achternaam
ORDER BY
    t.team, aantal_goals DESC
 
D B

D B

17/05/2014 10:28:11
Quote Anchor link
Ik ga maandag even kijken of dit werkt.

Nu een weekendje weg.

Bedankt iniedergeval!
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/05/2014 17:14:35
Quote Anchor link
>> Ik ga maandag even kijken of dit werkt

D B in PM:
Ik heb deze namelijk van het weekend nodig voor onze jaarlijkse afsluiting. (Wil geen druk bij je neerleggen hoor)


Foei!! :-P
Gewijzigd op 17/05/2014 17:14:54 door Ger van Steenderen
 
D B

D B

17/05/2014 19:40:02
Quote Anchor link
De oplossing in je vorige post was genoeg voor dit weekend omdat ze op de club alleen de topscoorders van junioren (1x) en pupillen (1x) nodig hadden om de wisselbeker te laten maken. Volgend weekend word er van elk team de top 3 opgenoemd en dat ligt allemaal korter bij elkaar dus dan heb ik de nog gespecificeerdere oplossing nodig.

Zodoende. Maandag ga ik dus zelf ook meteen weer aan de slag.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/05/2014 19:52:38
Quote Anchor link
Geniet van je weekend ;-)
 
D B

D B

18/05/2014 22:12:21
Quote Anchor link
Hallo,

Daar ben ik weer.

Ik heb nu de query van je gebruikt Ger, maar tt.team_id bestaat niet dus daar kan hij niets mee. Ik snap helaas zelf niet wat de query precies doet met die UNION enzo, dus weet niet zo goed wat ik nu kan wijzigen. Kan ik op een makkelijke manier mijn database opbouw laten zien zodat je er misschien meer wijs uit kunt?

Groeten,

Danny

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
    SELECT
        t.team,
        l.voornaam,
        l.achternaam,
        COUNT(g.leden_id) AS aantal_goals
    FROM
        Teams t
    JOIN
        (SELECT
            team_id,
            leden_id
        FROM
            Teamindeling
        WHERE
            seizoen = '2013/2014'
            AND
            taak = 'Speler'
        UNION
            SELECT DISTINCT
                tt.team_id,
                go.leden_id
            FROM
                Goals go
            JOIN
                Teams tt
                ON go.wie = tt.team
            WHERE
                tt.leeftijd = 'Junioren' AND go.seizoen = '2013/2014'    
        ) ti
        ON t.id = ti.team_id
    JOIN
        Leden l
        ON ti.leden_id = l.id
    LEFT JOIN
        Goals g
        ON l.id = g.leden_id AND g.seizoen = '2013/2014' AND g.wie = t.team
    LEFT JOIN
        Wedstrijden w
        ON g.wedstrijd_id = w.id AND w.soort = 'Competitie'
    WHERE
        t.leeftijd = 'Junioren'
    GROUP BY
        t.team,
        l.voornaam,
        l.achternaam
    ORDER BY
        t.team,
        aantal_goals DESC
 
D B

D B

20/05/2014 10:05:59
Quote Anchor link
Daar ben ik weer,

Na flink puzzelen heb ik het volgende:

http://www.zscwesterhoven.nl/test.php?o=2

http://www.zscwesterhoven.nl/uitlegplaatje.jpg

Zoals op het plaatje te zien krijg ik nu de teams waar ze gescoord hebben en de teams waar ze in spelen te zien. Nu zouden ze alleen nog gecount moeten worden (per t.team) en gegroepeerd worden.

Wie kan me hiermee helpen?

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
SELECT
    l.voornaam,
    l.achternaam,
    g.wie,
    g.leden_id,
    t.team
FROM
    Goals AS g
LEFT JOIN
    Leden AS l
ON
    g.leden_id = l.id
LEFT JOIN
    Wedstrijden AS w
ON
    g.wedstrijd_id = w.id
LEFT JOIN
    Teamindeling AS ti
ON
    g.leden_id = ti.leden_id AND ti.taak = 'Speler' AND ti.seizoen = '2013/2014'
LEFT JOIN
    Teams AS t
ON
    ti.team_id = t.id
WHERE
    g.seizoen = '2013/2014'
AND
    w.soort = 'Competitie'
AND
    g.wie LIKE 'ZSC%'
AND
    t.leeftijd = 'Junioren'
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/05/2014 19:36:44
Quote Anchor link
Heb je de query die ik gaf al uit geprobeerd?
 
D B

D B

20/05/2014 19:44:56
Quote Anchor link
Jazeker, zie 2à3 posts terug, over die union en de tt id die niet bestaat.
Gewijzigd op 20/05/2014 19:45:48 door D B
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/05/2014 20:00:20
Quote Anchor link
Altijd wel even contoleren op veldnamen, ik heb de gewoonte om een id kolom de enkelvoudige naam van de tabel mee te geven (i.e. in teams -> team_id).

UNION is de resultaten van twee query's samenvatten, dus wat ik doe in subquery is eerst de spelers selecteren bij het team waarin ze zijn ingedeeld, en daarna pak ik het de teams erbij waarvoor ze ook zijn uitgekomen vanuit de goals tabel.

Als je aan dingen twijfelt moet je gewoon zo'n subquery los uit proberen in jouw favoriete SQL tool
Gewijzigd op 20/05/2014 20:01:49 door Ger van Steenderen
 
D B

D B

20/05/2014 20:02:16
Quote Anchor link
Zo was ik dus inderdaad tot mijn laatste post gekomen.

Ik ga nu die query van jou nog eens proberen.

Toevoeging op 20/05/2014 20:29:39:

Ik gebruik nu dit:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
SELECT
    t.team,
    l.voornaam,
    l.achternaam,
    COUNT(g.leden_id) AS aantal_goals
FROM
    Teams t
JOIN
    (SELECT
        team_id,
        leden_id
    FROM
        Teamindeling
    WHERE
        seizoen = '2013/2014'
        AND
        taak = 'Speler'
    UNION
        SELECT DISTINCT
            tt.id,
            go.leden_id
        FROM
            Goals go
        JOIN
            Teams tt
            ON go.wie = tt.team
        WHERE
            tt.leeftijd = 'Junioren' AND go.seizoen = '2013/2014'    
    ) ti
    ON t.id = ti.team_id
JOIN
    Leden l
    ON ti.leden_id = l.id
LEFT JOIN
    Goals g
    ON l.id = g.leden_id AND g.seizoen = '2013/2014' AND g.wie = t.team
LEFT JOIN
    Wedstrijden w
    ON g.wedstrijd_id = w.id AND w.soort = 'Competitie'
WHERE
    t.leeftijd = 'Junioren'
GROUP BY
    t.team,
    l.voornaam,
    l.achternaam
ORDER BY
    t.team, aantal_goals DESC


Maar dit geeft niet het gewenste resultaat.

Zie http://www.zscwesterhoven.nl/test.php?o=1
Linkse kolom = Goede aantal goals, zonder spelers uit andere teams
Rechtse kolom = Spelers uit andere teams erbij, aantallen niet goed

Ergens telt hij nu te veel goals. En ook zie ik graag achter de naam het Team uit de teamindeling, en niet het team waar de goals in zijn gemaakt. Dit heeft denk ik te maken met select t.team bovenaan in de query.

(Het lijkt erop dat alles x3 en/of x2 is gedaan)
Gewijzigd op 20/05/2014 20:41:43 door D B
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/05/2014 21:20:11
Quote Anchor link
>> Als je aan dingen twijfelt moet je gewoon zo'n subquery los uit proberen in jouw favoriete SQL tool

Als dingen niet werken zoals je verwacht, moet je de query gaan debuggen, en dat betekent stukje voor stukje opbouwen.

Ik kan niet in jouw database gegevens kijken, dus kan (en wil) het ook niet uittesten.

Klinkt misschien een beetje bot, maar zo heb ik het ook geleerd.
 
D B

D B

20/05/2014 22:08:40
Quote Anchor link
Uiteindelijk is het dan volgens mij toch gelukt en is het volgende de oplossing geweest:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
elseif ($_GET['o'] == "2") {
    $query1 = "
        SELECT
            team
        FROM
            Teams
        WHERE
            seizoen = '". $seizoen. "'
        AND
            leeftijd = 'Junioren'
        ";
    $res1=mysql_query($query1) or die(mysql_error());
    echo '<table class="buiten" style="border:1px solid black;">';
    echo '<tr><th colspan="4">Topscoorders Junioren - Per Team</th></tr>';
    while ($row1 = mysql_fetch_array($res1)) {
        echo '<tr><th colspan="4">'. $row1['team']. '</td></tr>';
        $query = "
            SELECT
                l.voornaam,
                l.achternaam,
                g.wie,
                COUNT(g.leden_id) AS aantal_goals,
                t.team
            FROM
                Goals AS g
            LEFT JOIN
                Leden AS l
            ON
                g.leden_id = l.id
            LEFT JOIN
                Wedstrijden AS w
            ON
                g.wedstrijd_id = w.id
            LEFT JOIN
                Teamindeling AS ti
            ON
                g.leden_id = ti.leden_id AND ti.taak = 'Speler' AND ti.seizoen = '". $seizoen. "'
            LEFT JOIN
                Teams AS t
            ON
                ti.team_id = t.id
            WHERE
                g.seizoen = '". $seizoen. "'
            AND
                w.soort = 'Competitie'
            AND
                g.wie = '". $row1['team']. "'
            AND
                t.leeftijd = 'Junioren'
                GROUP BY
                    g.leden_id,g.wie
                   ORDER BY
                    g.wie,
                aantal_goals DESC,
                l.achternaam
        ";
        $res=mysql_query($query) or die(mysql_error());
        while ($row=mysql_fetch_array($res)){
            echo '<tr>';
            echo '<td align="left" width="80">'. $row['voornaam']. '</td>';
            echo '<td align="left" width="120">'. $row['achternaam']. '</td>';
            echo '<td align="left" width="100">'. $row['team']. '</td>';
            echo '<td align="right" width="50">'. $row['aantal_goals']. '</td>';
            echo '</tr>';
        }
        $query2 = "SELECT COUNT(g.leden_id) AS aantal_goals FROM Goals AS g LEFT JOIN Wedstrijden AS w ON g.wedstrijd_id = w.id WHERE g.wie = '". $row1['team']. "' AND g.leden_id = '0' AND w.soort = 'Competitie' AND w.seizoen = '". $seizoen. "'";
        $res2=mysql_query($query2) or die(mysql_error());
        $row2=mysql_fetch_array($res2);
        echo '<tr>';
        echo '<td align="left" colspan="3">Eigen goals door Tegenstander</td>';
        echo '<td align="right" width="100">'. $row2['aantal_goals']. '</td>';
        echo '</tr>';
        echo '<tr><th colspan="4">'. $row['wie']. '</td></tr>';
    }
        echo '</td>';
        echo '</tr>';
        echo '</table>';
}


Ger, iniedergeval bedankt voor het helpen!

Misschien heb je nog wat tips/opmerkingen over dit scriptje?
Gewijzigd op 21/05/2014 00:10:09 door D B
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

21/05/2014 07:39:11
Quote Anchor link
>>Als ik alleen die SELECT met UNION query gebruik komt daar 3x team_id (32,6,55) naar voren met 3x leden_id 167

Dat is precies de bedoeling, de subquery is bedoeld om een virtuele teamindeling te genereren.
Je moet alleen tt.team meenemen in de SELECT meenemen, en daar de goals tabel op joinen.

Als je het team erbij wilt waar een speler oorspronkelijk is ingedeeld, moet je de teamindeling nogmaals joinen (na leden)
 
D B

D B

21/05/2014 10:06:30
Quote Anchor link
Ik heb het nu iniedergeval werkend, maar ik ga nog zeker eens naar jou query met laatstgenoemde tips kijken.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

22/05/2014 12:39:01
Quote Anchor link
Met jouw query krijg je alleen spelers te zien die gescoord hebben.

Met mijn query krijg je altijd alle spelers te zien die bij een team zijn ingedeeld.
Wil je dan toch alleen maar de spelers zien die gescoord hebben voeg je een having clause aan de group by toe.

Daarnaast is de goals tabel de meest uitgebreide tabel, dus dat scheelt een hele hoop performance.
Gewijzigd op 22/05/2014 15:34:58 door Ger van Steenderen
 



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.