Likes Likes:  0
Resultaten 1 tot 10 van de 10

Onderwerp: Kan dit met 1 query

  1. #1
    Kan dit met 1 query
    geregistreerd gebruiker
    4 Berichten
    Ingeschreven
    07/06/06

    Locatie
    dordrecht

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: 123456
    Ondernemingsnummer: nvt

    Thread Starter

    Kan dit met 1 query

    Ik ben bezig met een kalender met evenementen. Per evenement bestaan er 1 of meerdere onderdelen, bijvoorbeeld koekhappen, schminken en zaklopen.

    Nu wil ik een lijst met evenementen tonen in HTML met vermelding van de naam van het evenement en de namen van de onderdelen van het evenement
    bijvoorbeeld:

    evenement-Pietje: koekhappen, schminken en zaklopen
    evenement_Zusje: koekhappen, schminken

    Met de onderstaande query krijg ik echter dit logische resultaat uit de query:
    evenement-Pietje: koekhappen
    evenement-Pietje: schminken
    evenement-Pietje: zaklopen
    evenement-Zusje: koekhappen
    evenement-Zusje: schminken

    Een te verwachten resultaat maar hoe krijg ik dit met 1 query nou toch in deze vorm:

    evenement-Pietje: koekhappen, schminken en zaklopen
    evenement_Zusje: koekhappen, schminken

    Kan dat of heb ik een 2e query nodig? Volgens mij moet het ook kunnen met 1 query want alle info heb je al opgehaald. Als amateurtje zie ik niet hoe
    Kunnen jullie mij op we helpen?



    tabellen:
    ----
    tabel_evenement
    met kolommen:
    id - naam-evenement

    tabel_evenement_onderdelen
    met kolommen:
    id - naam-evenementonderdeel - evenement_id
    ----

    query:

    SELECT * FROM tabel_evenement, tabel_evenement_onderdelen
    WHERE tabel_evenement.id = tabel_evenement_onderdelen.evenement_id

  2. #2
    Kan dit met 1 query
    Maarten
    508 Berichten
    Ingeschreven
    13/03/03

    Locatie
    Alkmaar

    Post Thanks / Like
    Blog Entries
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Maarten
    Registrar SIDN: ja
    KvK nummer: 37101223
    Ondernemingsnummer: nvt

    Je kunt de query die je nu hebt gebruiken, sorteren op evenement, en dan een nieuwe regel aan maken op het moment dat het evenment wijzigt.

  3. #3
    Kan dit met 1 query
    geregistreerd gebruiker
    4 Berichten
    Ingeschreven
    07/06/06

    Locatie
    dordrecht

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: 123456
    Ondernemingsnummer: nvt

    Thread Starter

    gelukt!

    Thanx Maarten,

    Dat was net het duwtje wat ik nodig had

    Het is allemaal gelukt!

    Voor andere geinteresseerden, ik doe nu zoiets:
    PHP Code:
    while($hk_mainquery_uitvoeren_result = @mysql_fetch_array($hk_mainquery_uitvoeren)) {
        if (
    $oudevenement !=  $hk_mainquery_uitvoeren_result["id"]) {
            echo (
    "</br></br>".$hk_mainquery_uitvoeren_result["evenementnaam"]." - ".$hk_mainquery_uitvoeren_result["id"]." - ".$hk_mainquery_uitvoeren_result["id"]."</br></br>");
            echo (
    $hk_mainquery_uitvoeren_result["naam_evenement_onderdeel"]);
        } else {
            echo (
    " - ".$hk_mainquery_uitvoeren_result["naam_evenement_onderdeel"]);
        }
        
    $oudevenement $hk_mainquery_uitvoeren_result["id"];    


  4. #4
    Kan dit met 1 query
    Banned
    794 Berichten
    Ingeschreven
    02/03/05

    Locatie
    Mijdrecht

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: 30203392
    Ondernemingsnummer: nvt

    je vraag een oplossing in 1 Query.. dus dat de oplossing volledige uit sql komt.
    Zeg dan meteen dat je het in scripting (php) wil opgelost hebben.

  5. #5
    Kan dit met 1 query
    Maarten
    508 Berichten
    Ingeschreven
    13/03/03

    Locatie
    Alkmaar

    Post Thanks / Like
    Blog Entries
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Maarten
    Registrar SIDN: ja
    KvK nummer: 37101223
    Ondernemingsnummer: nvt

    Hij heeft nu toch een oplossing met een enkele query? Ik snap je kritiek niet zo...

  6. #6
    Kan dit met 1 query
    geregistreerd gebruiker
    4 Berichten
    Ingeschreven
    07/06/06

    Locatie
    dordrecht

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: 123456
    Ondernemingsnummer: nvt

    Thread Starter
    @bakker
    Sorry dat wij elkaar verkeerd begrijpen maar ik bedoelde dus dat ik de oplossing zocht met slechts 1 query en dus zonder een 2e query.

    De oplossing kan zijn een andere query of een stukje scripting.

    Als je een oplossing hebt met een andere query nodig ik je uit om deze met ons te delen. Daar leren we weer van.

  7. #7
    Kan dit met 1 query
    Banned
    794 Berichten
    Ingeschreven
    02/03/05

    Locatie
    Mijdrecht

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: 30203392
    Ondernemingsnummer: nvt

    Citaat Oorspronkelijk geplaatst door Xolphin Bekijk Berichten
    Hij heeft nu toch een oplossing met een enkele query? Ik snap je kritiek niet zo...
    Zijn orginele vraag is om een bepaalt resultaat te krijgen met 1 query, want zijn huidige query geeft niet het gewenst resultaat. Dat die er dus nog bij script..
    hij wil dus niet het met 1 query hebben (zijn vraag), maar hij wil een query hebben zodat zijn script daar (makkelijk) mee om gaan gaan.

    De hele vraagstelling is dus niet correct.

    Maar goed, als je het dan toch wil hebben:

    Mijn test tabellen:
    Code:
    CREATE TABLE IF NOT EXISTS `evenement` (
      `id` int(11) NOT NULL auto_increment,
      `naam` varchar(32) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
    INSERT INTO `evenement` (`id`, `naam`) VALUES 
    (1, 'Pietje'),
    (2, 'Zusje');
    
    CREATE TABLE IF NOT EXISTS `onderdelen` (
      `id` int(11) NOT NULL auto_increment,
      `eventonderdeel` varchar(32) NOT NULL,
      `eventid` int(11) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
    INSERT INTO `onderdelen` (`id`, `eventonderdeel`, `eventid`) VALUES 
    (1, 'koekhappen', 1),
    (2, 'schminken', 1),
    (3, 'zaklopen', 1),
    (4, 'koekhappen', 2),
    (5, 'schminken', 2);
    Om vervolgens met onderstaande query zijn resultaat te kijgen:
    Code:
    mysql> SELECT e.naam AS event_naam,
        -> GROUP_CONCAT(DISTINCT eventonderdeel) AS onderdelen
        -> FROM evenement e
        -> LEFT JOIN onderdelen o ON e.id=o.eventid
        -> GROUP BY e.naam
        -> ;
    +------------+-------------------------------+
    | event_naam | onderdelen                    |
    +------------+-------------------------------+
    | Pietje     | koekhappen,schminken,zaklopen |
    | Zusje      | koekhappen,schminken          |
    +------------+-------------------------------+
    2 rows in set (0.00 sec)


    PS Scheidings teken is standaard een komma. Kijk op de mysql site om het scheidingsteken aan te passen.
    Laatst gewijzigd door bakkerl; 12/12/07 om 16:32. Reden: Automerged Dubbelpost

  8. #8
    Kan dit met 1 query
    Maarten
    508 Berichten
    Ingeschreven
    13/03/03

    Locatie
    Alkmaar

    Post Thanks / Like
    Blog Entries
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Maarten
    Registrar SIDN: ja
    KvK nummer: 37101223
    Ondernemingsnummer: nvt

    Citaat Oorspronkelijk geplaatst door bakkerl Bekijk Berichten
    Zijn orginele vraag is om een bepaalt resultaat te krijgen met 1 query, want zijn huidige query geeft niet het gewenst resultaat. Dat die er dus nog bij script..
    hij wil dus niet het met 1 query hebben (zijn vraag), maar hij wil een query hebben zodat zijn script daar (makkelijk) mee om gaan gaan.

    De hele vraagstelling is dus niet correct.
    Ik vond zijn vraagstelling zelf wel erg duidelijk, en begreep zijn probleem ook direct. Ik wou dat iedereen met een probleem zo'n uitgebreide probleemomschrijving neer zou zetten, met voorbeelden en al. Er staat nergens dat hij geen scripting wil gebruiken en je reactie is daarom wel wat overtrokken vind ik zelf.

    Mijn complimenten voor je eigen oplossing, je bent er behoorlijk mee bezig geweest. Ik begrijp nu ook je frustratie wat meer .
    Laatst gewijzigd door Xolphin; 12/12/07 om 16:42. Reden: Aanvulling

  9. #9
    Kan dit met 1 query
    geregistreerd gebruiker
    4 Berichten
    Ingeschreven
    07/06/06

    Locatie
    dordrecht

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: 123456
    Ondernemingsnummer: nvt

    Thread Starter
    Heel erg mooie query, Bakkerl !!

    En een stuk beter dan mijn scriptoplossing. Met jouw query kan ik ook nog eens makkelijk LIMIT toevoegen om direct het aantal evenementen te controleren wat de query geeft.

    Sorry dat mijn vraagstelling ruimte voor meerdere gewenste oplossingen overliet. Ik zal de volgende keer nog beter mijn best doen bij het stellen van mijn vraag!

    Nogmaals dank Maarten en Bakkerl !!

  10. #10
    Kan dit met 1 query
    Banned
    794 Berichten
    Ingeschreven
    02/03/05

    Locatie
    Mijdrecht

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: 30203392
    Ondernemingsnummer: nvt

    Citaat Oorspronkelijk geplaatst door Xolphin Bekijk Berichten
    Ik vond zijn vraagstelling zelf wel erg duidelijk, en begreep zijn probleem ook direct. Ik wou dat iedereen met een probleem zo'n uitgebreide probleemomschrijving neer zou zetten, met voorbeelden en al. Er staat nergens dat hij geen scripting wil gebruiken en je reactie is daarom wel wat overtrokken vind ik zelf.
    De vraag opzich is ook duidelijk en moeten ook bij al dit soort vragen eigenlijk ook . Alleen de randvoorwaarden waar binnen de oplossing mag niet.

    Anders had ik ook een antwoord met Oracle 11 kunnen geven. Deze ondersteunt namelijk standaard pivot functies op resultaten. Daardoor is het row/kolom roteren nog makkelijker....

Labels voor dit Bericht

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics