Sebastian Böck wrote:
Richard Huxton wrote:

Sebastian Böck wrote:

Hello all,

why is the last definition of a view not working, although the documentation says all three are equal?



CREATE OR REPLACE VIEW not_working AS
   SELECT one.*
   FROM one.one, two.two
   JOIN join1 ON join1.id = one.id;



I think it's trying to join "two" to "join1" - try
   ...FROM two.two, one.one
   JOIN join1...


Sure, but the problem still exists if you want to join with table one and table two.

Sorry - hadn't read the initial post carefully enough, and didn't see the unconstrained join on one,two. Since "JOIN" has a high precedence you'll want to force the issue with a subselect:

SELECT *
FROM (
  SELECT one.* FROM one.one, two.two
) AS dummy
JOIN join1 ON join1.id = dummy.id

--
  Richard Huxton
  Archonet Ltd


---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
     joining column's datatypes do not match

Reply via email to