आपके पास एक unexpected identifier है आपके SQL . में कथन ... ऐसा इसलिए है क्योंकि आप alias . का उपयोग कर रहे हैं zcp अनावश्यक रूप से। SQL के साथ जो आपके पास है, alias . की कोई आवश्यकता नहीं है table DELETE में खंड।
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));
नोट यदि आपने MySQL वर्कबेंच जैसे टूल का उपयोग किया है -- तो यह के लिए . समस्या की पहचान करेगा आप ... आपको अधिक आसानी से समस्या निवारण करने की अनुमति देता है।