missing FROM-clause notice but nothing is missing ... - Mailing list pgsql-general

From Jean-Christian Imbeault
Subject missing FROM-clause notice but nothing is missing ...
Date
Msg-id 3E83B397.3080301@mega-bucks.co.jp
Whole thread Raw
Responses Re: missing FROM-clause notice but nothing is missing ...  (Hadley Willan <hadley.willan@deeperdesign.co.nz>)
Re: missing FROM-clause notice but nothing is missing ...  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
List pgsql-general
I get a "missing FROM-clause" with the following query. I don't see why
as prod_id is a FK in the supposedly missing table ...

I also get an error on my ORDER by, even though I am ordering on
products.id which is what both selects retrieve ...

This looks like a simple thing but I cannot figure out what I missed ....

DB=# SELECT products.id
      FROM products
      WHERE name ILIKE 'AA'

      UNION

      SELECT prod_id
      FROM   rel_cast_crew_movies
      WHERE  cast_crew_id=1012
      ORDER BY products.id;

NOTICE:  Adding missing FROM-clause entry for table "products"
ERROR:  ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of
the result columns


I even tried this convoluted query to get around the notice and error
but to no avail:


DB=# SELECT products.id
      FROM products
      WHERE name ILIKE 'AA'

      UNION

      SELECT products.id
      FROM   rel_cast_crew_movies, products
      WHERE  cast_crew_id=1012
        AND  prod_id=products.id
      ORDER BY products.id;


The tables:

DB=# \d rel_cast_crew_movies
Table "public.rel_cast_crew_movies"
     Column    |  Type   | Modifiers
--------------+---------+-----------
  prod_id      | integer | not null
  cast_crew_id | integer | not null
Indexes: rel_cast_crew_movies_pkey primary key btree (cast_crew_id, prod_id)
Foreign Key constraints: $1 FOREIGN KEY (prod_id) REFERENCES
products(id) ON UPDATE NO ACTION ON DELETE CASCADE DEFERRABLE INITIALLY
DEFERRED,
                          $2 FOREIGN KEY (cast_crew_id) REFERENCES
cast_crew(id) ON UPDATE NO ACTION ON DELETE CASCADE DEFERRABLE INITIALLY
DEFERRED


pgsql-general by date:

Previous
From: Dennis Gearon
Date:
Subject: Re: Slow query needs a kick in the pants.
Next
From: Hadley Willan
Date:
Subject: Re: missing FROM-clause notice but nothing is missing ...