Вам не хватает 1 JOIN
, то есть между categories
и category_record_mm
Это похоже на 3 города, A
, B
и C
, с мостом междуA
и B
и еще один между B
и C
.Нельзя перейти от A
к C
без использования моста между A
и B
SELECT * FROM `categories`
LEFT JOIN `category_record_mm` ON `category_record_mm`.`categories_uid` = `categories`.`uid`
LEFT JOIN `files` ON `category_record_mm`.`foreign_uid` = `files`.`uid`
WHERE (`category_record_mm`.`foreign_uid` = 123 )
categories_uid
, являющимся внешним ключом, ссылающимся на таблицу categories
и categories
. uid
является первичным ключом categories