Thanks Jason - that all looks like it works, although I did notice two odd records.
There should I think be 47 matches on that example above but it returns 49.
The two extra ones are LodgeID 21 and 820.
If you query:
SELECT * FROM `scores` WHERE LodgeID = 21 OR LodgeID = 820 ORDER BY `ScoreID` ASC
You can see that neither have a score in category 7, but do show up using the SQL above.
Which is odd as the other 47 all look correct.