MySQL kwerenda, brak widoczności istniejącego pola

Witam proszę o wskazówkę w czym błąd

SELECT p.products_id, p.products_groups_id, p.products_image, CONCAT_WS( ' ', pd.products_name, sl.label ) AS products_name, pd.products_description, p.products_tax_class_id, p.products_price

FROM products p, products_description pd

INNER JOIN specials ON (p.products_id = s.products_id AND s.status = 1 AND (s.quantity > 0 OR s.quantity IS NULL) AND s.specials_deleted = 0)

LEFT JOIN specials_labels sl ON sl.specials_labels_id = pd.specials_labels_id

WHERE (

p.products_groups_id = '23'

OR p.products_groups_id = '26'

)

AND p.products_status = '1'

AND p.products_id

IN (


SELECT pzv.products_id

FROM products_zoofast_visibility pzv

WHERE p.products_id = pzv.products_id

AND pzv.products_zoofast_visibility_domain = 'sk'

)

AND p.products_id = pd.products_id

AND pd.language_id = '3'

LIMIT 50

Mam taką kwerendę i jest w niej następujący błąd:

#1054 - Unknown column 'p.products_id' in 'on clause'

products_id w tabeli products jest na 100%, wszystkie kolumny mają nazwy zgodne z rzeczywistymi w bazie

błąd dotyczy warunku dla klauzuli INNER JOIN

Dodane 24.10.2011 (Pn) 8:35

działa kiedy ciągne products_id z tabeli products_description, chociaż są one te same ktoś potrafi wytłumaczyć dlaczego nie mogę w tym przypadku brać z tabeli products?

Obejmij w nawias dwie pierwsze tabele (zaraz po FROM):

SELECT ... FROM (products p, products_description pd)