Skip to content

Error when there is only a subquery after select #526

@FlyingMao

Description

@FlyingMao

version: 5.6.29-dble-2.18.02.1-dev-20180427184625
steps:
step1,prepare table

mysql> drop table if exists a_test;
Query OK, 0 rows affected (0.22 sec)

mysql> CREATE TABLE a_test(`id` int(10) unsigned NOT NULL,`t_id` int(10) unsigned NOT NULL DEFAULT '0',`name` char(120) NOT NULL DEFAULT '',`pad` int(11) NOT NULL,PRIMARY KEY (`id`),KEY `k_1` (`t_id`))DEFAULT CHARSET=UTF8;
Query OK, 0 rows affected (0.36 sec)

mysql> insert into a_test values(1,1,'test中id为1',1),(2,2,'test_2',2),(3,3,'test中id为3',4),(4,4,'$test$4',3),(5,5,'test...5',1),(6,6,'test6',6);
Query OK, 6 rows affected (0.13 sec)

step2,execute subquery in dble

mysql> select (select name from a_test limit 1);
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.01 sec)

step3,execute subquery in mysql

mysql> select (select name from a_test limit 1);
+-----------------------------------+
| (select name from a_test limit 1) |
+-----------------------------------+
| test中id为1                       |
+-----------------------------------+
1 row in set (0.01 sec)

step4,explain in dble

mysql> explain select (select name from a_test limit 1);
+--------------------+-----------------------+---------------------------------------------------------------------+
| DATA_NODE          | TYPE                  | SQL/REF                                                             |
+--------------------+-----------------------+---------------------------------------------------------------------+
| dn1.0              | BASE SQL              | select `a_test`.`name` as `autoalias_scalar` from  `a_test` LIMIT 1 |
| dn2.0              | BASE SQL              | select `a_test`.`name` as `autoalias_scalar` from  `a_test` LIMIT 1 |
| dn3.0              | BASE SQL              | select `a_test`.`name` as `autoalias_scalar` from  `a_test` LIMIT 1 |
| dn4.0              | BASE SQL              | select `a_test`.`name` as `autoalias_scalar` from  `a_test` LIMIT 1 |
| merge.1            | MERGE                 | dn1.0; dn2.0; dn3.0; dn4.0                                          |
| limit.1            | LIMIT                 | merge.1                                                             |
| scalar_sub_query.1 | SCALAR_SUB_QUERY      | limit.1                                                             |
| dn2.1              | BASE SQL(May No Need) | scalar_sub_query.1; select 1                                        |
| merge.2            | MERGE                 | dn2.1                                                               |
+--------------------+-----------------------+---------------------------------------------------------------------+
9 rows in set (0.01 sec)

Metadata

Metadata

Labels

complex-queryresolveproblem has been fixed by developerverifiedissue's resolve was verified by tester

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions