Avatar billede mishrah Nybegynder
02. oktober 2011 - 15:57 Der er 2 kommentarer og
1 løsning

SQL sætning hjælp - flere tabeller

Hej gutter,

Jeg har to tabeller:

Kategorier
- id
- navn

Billeder
- id
- url
- dato (int - lagret som unix timestamp)
- kategori_id

Jeg har brug for at lave en oversigt over alle kategorierne, hvor jeg under hver kategori viser de 3 nyeste billeder.

Det skal gerne laves i ét SQL kald, så jeg ikke for hver kategori skal lave endnu et opslag.

Nogen der kan knække den?

På forhånd tak,
Martin
Avatar billede HenrikSjang Nybegynder
02. oktober 2011 - 18:10 #1
Det kan klares sådan:

;WITH cte AS (
SELECT
  ROW_NUMBER() OVER(PARTITION BY Kategorier.id ORDER BY Billeder.dato DESC) as rn,
  Kategorier.id as KategoriId,
  Kategorier.navn as KategoriNavn,
  Billeder.id as BilledId,
  Billeder.url,
  Billeder.dato
FROM
  Kategorier
  LEFT OUTER JOIN Billeder ON Kategorier.id = Billeder.kategori_id
)
SELECT *
FROM cte
WHERE rn <= 3
Avatar billede mishrah Nybegynder
02. oktober 2011 - 20:09 #2
Super - det virkede fint!
Smid et svar så du kan få point :)
Avatar billede HenrikSjang Nybegynder
02. oktober 2011 - 20:37 #3
Kommer her :)
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