Ik heb hier al eens eerder een topic overgemaakt, maar ben er helaas nog steeds niet uit. In een overzicht wil ik alle rubrieken weergeven en dan bij elke rubriek de laatste 3 produkten in die rubriek.
Ik heb een rubrieken en een produkten tabel:
rubrieken
- id
- naam
produkten
- id
- rubriekid
- naam
Nu had ik zelf als query:
Deze query laat nu maar 3 produkten zien, ook al zijn er meerdere. Dit komt natuurlijk door de subquery die gelimiteerd is tot 3. Nu kan ik natuurlijk over alle rubrieken loopen, maar als ik 20 rubrieken heb, zijn dat al gauw 21 queries. Dit wil ik liever niet. Ik zou het graag bij 1 query houden.
Ik heb een rubrieken en een produkten tabel:
rubrieken
- id
- naam
produkten
- id
- rubriekid
- naam
Nu had ik zelf als query:
MySQL:
1
2
3
4
5
6
7
8
9
10
11
| SELECT r.id AS rubriekid, r.naam AS rubrieknaam, p.id AS produktid, p.naam AS produktnaam FROM rubrieken r LEFT JOIN (SELECT id,naam,rubriekid FROM produkten ORDER BY id DESC LIMIT 3) AS p ON (p.rubriekid=r.id) |
Deze query laat nu maar 3 produkten zien, ook al zijn er meerdere. Dit komt natuurlijk door de subquery die gelimiteerd is tot 3. Nu kan ik natuurlijk over alle rubrieken loopen, maar als ik 20 rubrieken heb, zijn dat al gauw 21 queries. Dit wil ik liever niet. Ik zou het graag bij 1 query houden.