Ik krijg te veel records terug

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer / Overheid / Complexiteit

Functieomschrijving Wil jij als Java Developer een bijdrage leveren aan een veiliger Nederland en je als Java Developer bezig houden met zeer complexe bedrijfskritische applicaties? Lees dan snel verder! Doorontwikkelen bedrijfskritische applicaties; Aanpassingen maken in de bestaande applicatie; Vertalen van jouw visie op continuous integration en continuous delivery; Debuggen van de applicatie; In gesprek gaan met eindgebruikers om verbetervoorstellen op te halen. Functie-eisen Minimaal HBO-werk en denkniveau; Minimaal 5 jaar werkervaring als Java Developer; Je bent minimaal OCP-Java SE 6 gercertificeerd; Je hebt kennis van Webservices en Continuous Integration; Je bent analytisch sterk en zowel klant- als resultaatgericht. Bedrijfsomschrijving Binnen

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 »

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 »

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 »

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 »

Java Developer / Domotica / Public Cloud / Verbete

Functieomschrijving Wil jij als Java Developer een bijdrage leveren aan het ontwikkelen van innovatie Java applicaties die het levensgeluk van patiënten in diverse zorginstellingen aanzienlijk verbeterd? Lees dan snel verder! Ontwikkelen van nieuwe applicaties in Public Cloud; Optimaliseren en verbeteren van bestaande applicaties in Private Cloud; Meedenken over verbeterprojecten; Maken en uitvoeren van Stress Testing; Ontwikkelen en verbeteren van de Mobile app. Functie-eisen Hbo werk- en denkniveau; Minimaal 5 jaar relevante werkervaring; Ervaring in Java 8; Kennis van Linux, Public- en Private Cloudtechnieken; Je bent communicatief erg sterk en kan tegen de nodige stress. Bedrijfsomschrijving Deze organisatie is al ruim

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 »

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 »

Loek Lemmens

Loek Lemmens

22/05/2020 00:16:15
Quote Anchor link
Goede avond,


persons
idname
1bart
2marloes


hobbys
idpersonidhobby
11voetbal
21tekenen
31lego
42knutselen
52netflix


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$query
="
    SELECT persons.name, hobbys.hobby
    FROM persons
    INNER JOIN hobbys ON persons.id = hobby.personid
    WHERE name='bart'"
;
?>


Als ik de naam en de hobbys echo dan word de naam evenveel getoond als hobbys.
Bij bart is dat dus 4x.

Ik heb GROUP BY geprobeerd maar dan krijg ik als resultaat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$query
="
    SELECT persons.name, hobbys.hobby
    FROM persons
    INNER JOIN hobbys ON persons.id = hobby.personid
    WHERE name='bart'
        GROUP BY name"
;
?>


- bart
- voetbal
De rest van de hobbys word dan weer niet getoond.

Het resultaat zou moeten worden

bart
voetbal
tekenen
lego
Gewijzigd op 22/05/2020 00:17:27 door Loek Lemmens
 
PHP hulp

PHP hulp

01/06/2020 01:19:30
 
Ozzie PHP

Ozzie PHP

22/05/2020 02:40:11
Quote Anchor link
Waarom vraag je in de query überhaupt de naam op terwijl je die al weet ;)
 
Adoptive Solution

Adoptive Solution

22/05/2020 08:16:03
Quote Anchor link
Het meervoud van hobby is hobbies.
https://www.merriam-webster.com/dictionary/hobby

Als Bart 3 hobbies heeft en er komen er 4 uit, dan heb je inderdaad teveel records.

Je kan het zo oplossen :
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
<?php
$db
= new mysqli ( $host, $user, $pass, $base );
$query = "SELECT
    p.name as naam,
    group_concat(h.hobby) as hobby
FROM
    persons p
INNER JOIN
    hobbys h
ON
    p.id = h.personid
GROUP BY
    p.id;"
;
$result = $db->query( $query );
if( $result )
{

    echo '<table border="1">';
    while ( $row = $result->fetch_object() )
    {

        echo '<tr><td>' . $row->naam . '</td><td>';
        $hobbies = explode( ',', $row->hobby );
        foreach ( $hobbies as $hobby )
        {

            echo $hobby . '<br />';
        }

        echo '</td></tr>';
    }

    echo '</table>';
}
else {
    'geen result';
}

?>
 
Rob Doemaarwat

Rob Doemaarwat

22/05/2020 10:54:36
Quote Anchor link
Adoptive Solution op 22/05/2020 08:16:03:
Je kan het zo oplossen

Maar dan wel even onthouden om geen hobby met een komma toe te staan ;-)
 
- SanThe -

- SanThe -

22/05/2020 14:59:58
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$query
="
    SELECT persons.name, hobbys.hobby
    FROM persons
    INNER JOIN hobbys ON persons.id = hobby.personid
    WHERE name='bart'
        GROUP BY name"
;
?>


Is het niet gewoon dit:
INNER JOIN hobbys ON persons.id = hobbys.personid
 
Thomas van den Heuvel

Thomas van den Heuvel

22/05/2020 15:07:25
Quote Anchor link
Loek Lemmens op 22/05/2020 00:16:15:
Bij bart is dat dus 4x.

Bart heeft drie hobby's, dus dan zou ik drie records terug verwachten. Of één, als je dingen als GROUP_CONCAT gebruikt.

Loek Lemmens op 22/05/2020 00:16:15:
Het resultaat zou moeten worden

bart
voetbal
tekenen
lego

Hoe je gegevens ophaalt en presenteert zijn in principe twee verschillende dingen, je hoeft de query niet zo te boetseren dat deze de informatie in de uiteindelijke vorm ophaalt, het voornaamste is dat de query de juiste informatie teruggeeft. Wat nu als je de weergave wilt veranderen? Dan zou je de query mogelijk moeten aanpassen. Ik zou dit dus scheiden. Je kunt in PHP / de presentatielaag altijd nog resultaten anders organiseren, dit hoeft niet (per se) in de query te gebeuren.

@Adoptive waarom eerst een GROUP_CONCAT, en dan een explode? :p

Plus, recent zijn er meerdere topics voorbij gekomen waarin precies hetzelfde gebeurt.

Ook gaan de queries er nu vanuit dat iemand ten minste één hobby heeft. Als dit niet het geval is, is er geen resultaat? Heb je ook nagedacht over dit soort randgevallen?
 



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.