Moderator |
|
Als je met die query alle informatie van zowel categorieen als subcategorieen bij elkaar wilt harken, waarbij je dus in je resultaatrijen meerdere keren dezelfde categorie-informatie zult tegenkomen (en per record verschillende subcategorie informatie), er vanuitgaande dat een categorie meerdere subcategorieen heeft en subcategorieen maar tot één categorie kunnen behoren, en wanneer er geen verdere gelaagdheid zit in je categorieen, dan moet je een LEFT of RIGHT JOIN gebruiken.
Je maakt het voor ons wel een beetje moeilijk omdat:
- je niet vertelt wat je precies wilt
- je niet vertelt wat er precies misgaat
- je geen voorbeeld geeft van je dataset (wat zit er concreet in je database?), wat je verwacht, en wat je krijgt
- je geen verdere uitleg geeft van het gedrag dat deze databasestructuur zou moeten volgen
- er staat '... de juiste categorie als ik deze selecteer ...', ik zie nergens een 'WHERE categories.id = ...' ?
Het volgende is een gok:
SELECT *
FROM categories c
LEFT JOIN sub_categories s ON (s.cid = c.id)
ORDER BY c.id
SELECT * FROM categories c LEFT JOIN sub_categories s ON (s.cid = c.id) ORDER BY c.id
En anders moet je beter uitleggen wat je wilt ... |