Hi I might be missing something obvious here but I'm bashing my head against a wall on this problem.

I have two users A and B, user B has two tables PUB and DETAIL which have SELECT granted to user A and have the following query:

Code:
SELECT 
  DISTINCT d.adno,d.vno,d.pubno,p.bwnet
FROM B.DETAIL d, B.PUB p
WHERE TO_DATE(d.pubdate,'dd/mm/yy') <= TO_DATE('01-NOV-2004','dd/mm/yy')
AND TO_DATE(d.pubdate,'dd/mm/yy') <= TO_DATE('12-NOV-2004','dd/mm/yy')
AND d.billflag = 'Y'
AND d.adno NOT IN
  (SELECT DISTINCT adno
   FROM B.DETAIL
   WHERE TO_DATE(pubdate,'dd/mm/yy') <= TO_DATE('01-NOV-2004','dd/mm/yy')
   AND TO_DATE(pubdate,'dd/mm/yy') <= TO_DATE('12-NOV-2004','dd/mm/yy')
   AND (lastbillflag = '1' OR lastbillflag = '999'))
AND d.adno = p.adno
AND d.vno = p.vno
AND d.pubno = p.pubno;
When I run this code as user B (the object owner) it works fine, but when I run it as user A I get

Code:
SELECT DISTINCT d.adno,d.vno,d.pubno,p.bwnet
      *
ERROR at line 1:
ORA-00904: invalid column name
Any help would be appreciated