Не знаю, правильно ли я понимаю вашу проблему, но звучит так, будто вы хотите сделать внутреннее соединение?Попробуйте что-то вроде этого:
SELECT category_name, category_id, category_slug
FROM categories
inner join ft_projects on ft_projects.category_id = categories.id
WHERE EXISTS (
SELECT 1
FROM assigned_categories
WHERE assigned_categories.assigned_category_id = categories.category_id
)
and ft_projects.visible = 1
Конечно, вам нужно настроить условие соединения, "on ft_projects.category_id = Categories.id" это просто пример.
Также важно:Я думаю, что то, чего вы хотите достичь с помощью своего существующего условия, также лучше решается с помощью внутреннего соединения (по крайней мере, я так полагаю, основываясь на именах ваших столбцов).