Avatar billede elmoe Juniormester
14. februar 2008 - 14:17 Der er 3 kommentarer og
1 løsning

Udvælge specielle poster fra database

Jeg skal have vist alle varegrupper, som har tilknyttede varer i databasen.

Jeg har en tabel med varer og tabel med varegrupper.

Varerne har hver især et varegruppeid. Mit problem er, at når der er flere varer med samme varegruppeid, så vil jeg stadig kun vise en enkelt varegruppe i varegruppeoversigten.

Her er den SELECT jeg bruger nu:

$RS = mysql_query("SELECT varer.id, varer.navn, kategorier.id, kategorier.navn FROM varer left join kategorier on varer.underkategoriid = kategorier.id");

Den giver mig disse kategorier:

Biler
Biler
Fly
Computere
Computere
Rejser
Computere
Computere
Biler
Biler


Den skal se sådan her ud:

Biler
Fly
Computere
Rejser

Altså kun vise en fra hver gruppe.

Hvordan gør jeg det?
Avatar billede Slettet bruger
14. februar 2008 - 14:38 #1
Du skal bruge DISTINCT der henter unikke rækker.

Du skal udelade varer.id, varer.navn i din SELECT da disse kan variere inden for en kategori:

$RS = mysql_query("SELECT DISTINCT kategorier.id, kategorier.navn FROM varer left join kategorier on varer.underkategoriid = kategorier.id");

Vh Mathias.
Avatar billede limemedia Nybegynder
14. februar 2008 - 14:40 #2
$RS = mysql_query("
  SELECT v.id, v.navn, k.id AS kid, k.navn AS knavn
  FROM varer AS v, kategorier AS k
  WHERE v.underkategoriid = k.id
  GROUP BY knavn
");
Avatar billede elmoe Juniormester
14. februar 2008 - 17:06 #3
Årh tusind tak Mathias!!!

Det virkede! Det var lige det jeg manglede for at komme videre. Vær venlig at komme med et svar. SÅ FEDT MAND! :)
Avatar billede Slettet bruger
14. februar 2008 - 21:22 #4
Jamen velbekommen :-).

Sådan dér..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester