BUG #15088: Can create subquery with duplicate column names
| От | PG Bug reporting form |
|---|---|
| Тема | BUG #15088: Can create subquery with duplicate column names |
| Дата | |
| Msg-id | 151960525439.21246.8882390517759748280@wrigleys.postgresql.org обсуждение исходный текст |
| Ответы |
Re: BUG #15088: Can create subquery with duplicate column names
Re: BUG #15088: Can create subquery with duplicate column names |
| Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 15088 Logged by: Tudor Bosman Email address: tudorb@gmail.com PostgreSQL version: 9.5.11 Operating system: Ubuntu 16.04 Description: This may not be a bug, but you can create a subquery that has ambiguous column names, and then you have no way to disambiguate between them, as the originating table names are no longer in scope. tudor=# create table t1 (x integer); CREATE TABLE tudor=# insert into t1 values (1); INSERT 0 1 tudor=# create table t2 (x integer); CREATE TABLE tudor=# insert into t2 values (2); INSERT 0 1 tudor=# select * from t1 cross join t2; x | x ---+--- 1 | 2 (1 row) tudor=# select t1.x, t2.x from t1 cross join t2; x | x ---+--- 1 | 2 (1 row) tudor=# select * from (select t1.x, t2.x from t1 cross join t2) a; x | x ---+--- 1 | 2 (1 row) ... and the result now has two columns named x, and I can't tell them apart: tudor=# select t1.x from (select t1.x, t2.x from t1 cross join t2) a; ERROR: missing FROM-clause entry for table "t1" LINE 1: select t1.x from (select t1.x, t2.x from t1 cross join t2) a... MySQL reports an error in this case: mysql> select t1.x, t2.x from t1 cross join t2; +------+------+ | x | x | +------+------+ | 1 | 2 | +------+------+ 1 row in set (0.00 sec) mysql> select * from (select t1.x, t2.x from t1 cross join t2) a; ERROR 1060 (42S21): Duplicate column name 'x'
В списке pgsql-bugs по дате отправления: