Subquery bug
am 08.07.2004 09:40:23 von SaGuHello,
I think I've found a bug in 4.1.3 nested sub query handling.
Test case:
--Creating and populating child and father tables
---------------------------------
mysql> create table child(id int,f_id int,val varchar(10));
Query OK, 0 rows affected (0.01 sec)
mysql> create table father(id int,val varchar(10));
Query OK, 0 rows affected (0.05 sec)
mysql> insert into father values(1,'A'),(2,'B');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> insert into child values(1,1,'A'),(2,1,'B'),(3,2,'C'),(4,2,'D');
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0
--Buggy sub query (should it report an error in nested sub query (column f_id
does not exists in father table))
-------------------------------------
mysql> select f_id,count(*) from child where f_id in (select f_id from father)
group by f_id;
+------+----------+
| f_id | count(*) |
+------+----------+
| 1 | 2 |
| 2 | 2 |
+------+----------+
2 rows in set (0.00 sec)
--The nested query alone produces error as expected.
-------------------------------------
mysql> select f_id from father;
ERROR 1054 (42S22): Unknown column 'f_id' in 'field list'
Regards,
--
Saulius Gurklys
p.s. Test case (queries only):
create table child(id int,f_id int,val varchar(10));
create table father(id int,val varchar(10));
insert into father values(1,'A'),(2,'B');
insert into child values(1,1,'A'),(2,1,'B'),(3,2,'C'),(4,2,'D');
select f_id,count(*) from child where f_id in (select f_id from father) group by
f_id;
select f_id from father;
--
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs@m.gmane.org