subselect bug?

Started by Tatsuo Ishiialmost 25 years ago4 messages
#1Tatsuo Ishii
t-ishii@sra.co.jp

While below is ok:

select * from table_a a
where (select data_a from table_a where id = a.id) >
(select data_b from table_a where id = a.id);

but this fails:

select * from table_a a
where ((select data_a from table_a where id = a.id) >
(select data_b from table_a where id = a.id));

ERROR: parser: parse error at or near ">"

Does anybody know why?
--
Tatsuo Ishii

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tatsuo Ishii (#1)
Re: subselect bug?

Tatsuo Ishii <t-ishii@sra.co.jp> writes:

select * from table_a a
where ((select data_a from table_a where id = a.id) >
(select data_b from table_a where id = a.id));

ERROR: parser: parse error at or near ">"

Ugh. The grammar does some pretty squirrely things with parentheses
around selects, and I guess it's getting confused on this. Don't
know why offhand ...

regards, tom lane

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tatsuo Ishii (#1)
Re: subselect bug?

Tatsuo Ishii <t-ishii@sra.co.jp> writes:

select * from table_a a
where ((select data_a from table_a where id = a.id) >
(select data_b from table_a where id = a.id));
ERROR: parser: parse error at or near ">"

I think I finally got this right ... see if you can break the revised
grammar I just committed ...

regards, tom lane

#4Tatsuo Ishii
t-ishii@sra.co.jp
In reply to: Tom Lane (#3)
Re: subselect bug?

Tatsuo Ishii <t-ishii@sra.co.jp> writes:

select * from table_a a
where ((select data_a from table_a where id = a.id) >
(select data_b from table_a where id = a.id));
ERROR: parser: parse error at or near ">"

I think I finally got this right ... see if you can break the revised
grammar I just committed ...

Thanks. Works fine now.
--
Tatsuo Ishii