How does the Group table factor in to this example?
Do you have an expected "exact" output of what the final result should be?
The best I can do (which I'm sure is not what you're looking for) is:
SELECT m.matter_id, c.category_id, m.r_type, s.record_id
FROM #matter m
INNER JOIN #category c ON m.category_id = c.category_id
INNER JOIN #security_assignment s ON c.category_id = s.record_id AND c.r_type = s.r_type
WHERE m.matter_id = 494
______________________________________________________________________________"Never argue with an idiot; They'll drag you down to their level and beat you with experience"