Kim Hougaard skrev:
> Jeg har i min database to tabeller, en med overskrifter på 6
> grupper samt en med 24 deltagere fordelt på de 6 grupper.
> Deltagerne referer alle til en gruppe. Nu vil jeg gerne
> præsentere alle mine grupper inkl. deltagere. Dvs. først vil jeg
> trække overskriften på gruppe 1 fra en tabel så deltagerene fra
> gruppe 1 fra den anden tabel osv. Så vidt jeg lige kan se bliver
> det to loops inde i hinanden, men jeg kan ikke få det til at
> virke.
Hvor(dan) skal du præsentere dine data? Umiddelbart vil jeg foreslå
at lave en ganske almindelig join-forespørgsel mellem de to
tabeller.
I pseudokode bliver det:
SELECT g.gruppeID, g.overskrift, d.navn
FROM Grupper g INNER JOIN Deltagere d
ON g.gruppeID = d.gruppeID
ORDER BY g.gruppeID, d.deltagerID
Det vil give et postsæt a la:
ID - overskrift - navn
1 - Rørlæggere - Peter Hansen
1 - Rørlæggere - Kurt Larsen
2 - Murere - Jørgen Jensen
....
Hvis du skal vise det på fx en hjemmeside på formen:
Rørlæggere:
Peter Hansen
Kurt Larsen
Murere:
Jørgen Jensen
...
kan det klares med en enkelt løkke. Du skal gemme id-nummeret
(eller evt. bare overskriften) på gruppen i en variabel. Hver gang
du går en post frem tjekker du så den nye værdi op mod den du har
gemt i variablen. Hvis de er ens er du stadig i samme gruppe -> du
skriver bare deltagernavnet ud. Hvis de er forskellige er du nået
til en ny gruppe -> du skriver en overskrift efterfulgt af det
første navn.
> Eller måske skal jeg lave helt om på min tabelstruktur, hvis der
> er nogle som har en løsning hertil !
Nej - den ser umiddelbart fin ud (beskriv den gerne nærmere hvis du
er i tvivl).
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO -
www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.