Masz unexpected identifier
w twoim SQL
instrukcja ... Dzieje się tak, ponieważ używasz alias
zcp niepotrzebnie. Z SQL
które masz, nie ma potrzeby alias
table
w DELETE
klauzula.
DELETE FROM zc_products
WHERE products_id IN (SELECT DISTINCT p.products_id FROM zc_products p, zc_products_to_categories pc WHERE
p.products_id = pc.products_id AND
pc.categories_id IN (SELECT DISTINCT zcc.categories_id FROM zc_categories zcc WHERE zcc.categories_status = 0));
UWAGA Gdybyś użył narzędzia takiego jak MySQL Workbench -- zidentyfikuje problem dla ty ... Pozwala to na łatwiejsze rozwiązywanie problemów.