GROUP BY probleem - Geen juiste lijstweergave

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Johnny Cash

Johnny Cash

20/08/2013 01:46:27
Quote Anchor link
Ik heb een tabel met de volgende structuur:

id, zaal_naam, dagdeel

Ik heb daar als voorbeeld de volgende gegevens in staan:

1 zaal1 ochtend
2 zaal2 ochtend
3 zaal1 middag
4 zaal1 avond
5 zaal2 avond
6 zaal3 avond

Nu zoek ik een sql query die de volgende output geeft:

Gegroeppeerd op het dagdeel (dus ochtend, middag, avond).
Met onder het dagdeel de zalen.

Voorbeeld:

Ochtend: zaal1, zaal2
Middag: zaal1
Avond: zaal1, zaal2, zaal3

Ik heb al erg lang lopen zoeken op verschillende SQL pagina, maar ik kwam mijn specifieke probleem nog niet tegen.
 
PHP hulp

PHP hulp

22/12/2024 17:31:54
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/08/2013 07:38:17
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT
    datum,
    dagdeel,
    GROUP_CONCAT(zaal_naam SEPARATOR ', ') AS zaallijst
FROM
    zaalindeling
GROUP BY datum, dagdeel
 
Johnny Cash

Johnny Cash

20/08/2013 10:54:16
Quote Anchor link
Hey goedemorgen CyberJack,

IK heb je oplossing geprobeerd. Maar het blijkt nog steeds niet te werken, bijna....

Ik heb de volgende code:
SELECT bezet_door, dagdeel, GROUP_CONCAT(zaal_naam SEPARATOR '<br /> ') AS zaallijst FROM zaalindeling GROUP BY dagdeel

Ik krijg in de while het volgende resultaat:

AVOND INDELING
zaal2
zaal3: groep1

MIDDAG INDELING
zaal1
zaal2
zaal4: groep3

OCHTEND INDELING
zaal1: groep6


Je ziet dat er per dagindeling maar 1 groep getoond wordt, maar ik denk dat de oplossing dicht bij is.

Mijn whilelus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
     while($rij= mysql_fetch_assoc($resultaat)) {
      
        $zaalnaam = $rij["zaallijst"];
        $dagdeel = $rij["dagdeel"];

        echo "<h3>$dagdeel indeling</h3>";
        echo "<strong>$zaalnaam:</strong>";
    }


Overigens wil ik, als dit eindelijk werkt, ook meer gegevens uit deze tabel ophalen.
Ik hoop dat je ziet wat er fout gaat.

Toevoeging op 20/08/2013 11:04:37:

Het punt is dus dat op een dagdeel (ochtend bijvoorbeeld) in meerdere zalen een bezetting kan zijn.
Mijn weergave is dus nu:

MIDDAG INDELING
1,2,4: groep3

maar achter zaal1 en zaal2 moet ook een groep staan, dus zoals:
MIDDAG INDELING
1: groep2
2: groep4
4: groep3

De groepnaam is in de dbtabel: bezet_door
 



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.