У меня есть главная таблица categories
, как это
categories_id | categories_status | parent_id
1 1 0
2 1 0
3 1 1
4 1 2
5 1 1
6 1 2
и справочная таблица products_to_categories
categories_id | products_id
3 778
3 998
5 666
5 744
Я выбираю все категории без дочерней категории:
SELECT * FROM categories
WHERE categories_id not in ( SELECT parent_id FROM categories )
# gets entries with id 3, 4, 5, 6
и нет продуктов в справочной таблице:
AND categories_id NOT IN ( SELECT categories_id FROM products_to_categories )
# gets entries with id 4, 6
Теперь я хотел бы обновить category_status для этого результата, но это не работает, просто изменив SELECT на UPDATE:
UPDATE categories
SET categories_status = 0
WHERE categories_id not in ( SELECT parent_id FROM categories )
AND categories_id NOT IN ( SELECT categories_id FROM products_to_categories )
Есть несколько похожих вопросов, но я не могу понять, как изменить свой пример ...
Спасибо и наилучшими пожеланиями,
Алекс