Dear Gurus,
Sorry for upping a 13-month-old thread; please tell if I should've opened
another one.
Here I come again, with another silly join. Please forgive me, but our
queries are built from blocks :)
VERSION: 7.4.6, 7.4.8, 8.0.0rc4 (sorry, no newer installed right now)
ABSTRACT: The following query fails.
SELECT * FROM (SELECT a,b FROM cdqp WHERE a=1 AND b=2) AS aa NATURAL FULL JOIN (SELECT a,b FROM cdqp WHERE a=1 and
b=2)AS bbWHERE a+b = 3;
DETAILS: It seems it's something about the redundant WHERE clauses. If I
comment (replace with "WHERE true") any of the three WHERE clauses, it works.
Session log: See below.
TIA,
--
G.
serv1:tir=> \d cdqp Table "pg_temp_20.cdqp" Column | Type | Modifiers
--------+---------+----------- a | integer | b | integer |
serv1:tir=> SELECT * FROM
serv1:tir-> (SELECT a,b FROM cdqp WHERE a=1 AND b=2) AS aa
serv1:tir-> NATURAL FULL JOIN
serv1:tir-> (SELECT a,b FROM cdqp WHERE a=1 and b=2) AS bb
serv1:tir-> WHERE a+b = 3;
ERROR: could not devise a query plan for the given query
serv1:tir=> SELECT * FROM
serv1:tir-> (SELECT a,b FROM cdqp WHERE a=1 AND b=2) AS aa
serv1:tir-> NATURAL FULL JOIN
serv1:tir-> (SELECT a,b FROM cdqp WHERE a=1 and b=2) AS bb
serv1:tir-> WHERE true; a | b
---+--- 1 | 2
(1 row)