Je hebt een unexpected identifier in uw SQL statement ... Dit komt omdat je de alias . gebruikt zcp onnodig. Met de SQL die je hebt, is het niet nodig om alias . te gebruiken de table in de DELETE clausule.
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));
OPMERKING Als je een tool als MySQL Workbench zou gebruiken -- Het zou het probleem voor . identificeren u ... Zodat u gemakkelijker problemen kunt oplossen.