Hai un unexpected identifier
nel tuo SQL
istruzione ... Questo perché stai usando l'alias
zcp inutilmente. Con SQL
che hai, non è necessario alias
la table
nel DELETE
clausola.
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));
NOTA Se hai utilizzato uno strumento come MySQL Workbench, identificherebbe il problema per tu... Consentendoti di risolvere i problemi più facilmente.