クエリを単純化することで、バグの本当の原因を取り除いたと思います:-)
どのOracleバージョンを使用していますか? Oracle 10g(10.2.0.1.0)は以下を提供します:
create table parts (ptno number , ptnm number , catcd number);
create table CATEGORIES (catcd number);
select PTNO,PTNM,CATCD from PARTS
left join CATEGORIES on (CATEGORIES.CATCD=PARTS.CATCD);
ORA-00918:列があいまいに定義されています