Ik heb een opzetje gemaakt voor een database. Screenshot van de tabel opbouw is hieronder te vinden. Wat ik probeer voor elkaar te krijgen, is de 5 nieuwste artikelen van elke Categorie te selecteren.
Zou iemand een hand kunnen toe rijken hoe ik dit met 1 query kan bewerkstellingen. Het is natuurlijk mogelijk om 1 query te doen om alle categorien te krijgen en dan met een aparte query per categorie de 5 nieuwste artikelen eruit halen. Echter als er straks meer dan 20 categorien zijn levert dit gelijk 20 query's (+1 voor de categorie) wat waarschijnlijk onnodig is.

Zou iemand een hand kunnen toe rijken hoe ik dit met 1 query kan bewerkstellingen. Het is natuurlijk mogelijk om 1 query te doen om alle categorien te krijgen en dan met een aparte query per categorie de 5 nieuwste artikelen eruit halen. Echter als er straks meer dan 20 categorien zijn levert dit gelijk 20 query's (+1 voor de categorie) wat waarschijnlijk onnodig is.

code:
1
2
3
4
5
6
7
8
| SELECT categorie.categorie,
artikel.soort,
artikel.omschrijving,
artikel.prijs
FROM artikel
INNER JOIN subcategorie ON (artikel.subcat_id = subcategorie.id)
INNER JOIN categorie ON (subcategorie.cat_id = categorie.id)
ORDER BY artikel.id DESC |
