Hmmm, I guess I was hoping for something along the logical lines of ...
SELECT * FROM table WHERE category = 'Sports:Football😛layers' OR IF NONE category = 'Sports:Football' OR IF NONE category = 'Sports'
... of course that does not work but I would have thought MySQL would have had some type of command equivelent to my made up "OR IF NONE".
Anyway, thanks for the info, I guess I will end up needing to do alot of lookups in deep categories or as you suggest grab all records that match the beginning of the category name and then somehow sort through them to find the record that matches the current category the closest.