Bug #71577 Failure to prepare statement with parametrized inline table.
Submitted: 4 Feb 2014 6:35 Modified: 6 Sep 2017 10:32
Reporter: Elliot Levin Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Prepared statements Severity:S3 (Non-critical)
Version:5.6.15 OS:Windows (Windows 7)
Assigned to: CPU Architecture:Any
Tags: prepared parametrized statement select single row error

[4 Feb 2014 6:35] Elliot Levin
Description:
Their is  and error thrown when preparing a query selecting from a parametrized inline table. This seems to be only occurring when the table is on 1 row long.

The error: Error Code: 1054. Unknown column 'Values.Value' in 'field list'

How to repeat:
PREPARE Statement1 FROM 'SELECT `Values`.`Value` FROM (SELECT null AS `Value`) `Values`'; -- Ok
PREPARE Statement2 FROM 'SELECT `Values`.`Value` FROM (SELECT ? AS `Value` UNION SELECT ?) `Values`'; -- Ok
PREPARE Statement3 FROM 'SELECT `Values`.`Value` FROM (SELECT ? AS `Value`) `Values`'; -- Error 1054

Suggested fix:
Preparing the third statement should not return an error.
[6 Feb 2014 18:47] Sveta Smirnova
Thank you for the report.

Verified as described:

mysql> PREPARE Statement1 FROM 'SELECT `Values`.`Value` FROM (SELECT null AS `Value`) `Values`';
Query OK, 0 rows affected (0.00 sec)
Statement prepared

mysql> PREPARE Statement2 FROM 'SELECT `Values`.`Value` FROM (SELECT ? AS `Value` UNION SELECT ?) `Values`';
Query OK, 0 rows affected (0.00 sec)
Statement prepared

mysql> PREPARE Statement3 FROM 'SELECT `Values`.`Value` FROM (SELECT ? AS `Value`) `Values`'; 
ERROR 1054 (42S22): Unknown column 'Values.Value' in 'field list'
mysql> SELECT `Values`.`Value` FROM (SELECT 1 AS `Value`) `Values`;
+-------+
| Value |
+-------+
|     1 |
+-------+
1 row in set (0.00 sec)
[6 Sep 2017 10:32] Erlend Dahl
Not reproducible on latest 5.5+