Каким будет MySQL способ сделать выбор из значений?
select c from (values (1), (2), (3)) as t(c);
Идея состоит в том, чтобы иметь возможность сделать что-то вроде этого:
select * from table, (values (1), (2), (3)) as temp(c) where ...;
Для справки, здесьтакое документ Postgres: http://www.postgresql.org/docs/9.1/static/sql-values.html
По предоставленной вами ссылке:
ЗНАЧЕНИЯ (1, «один»), (2, «два»), (3, «три»); Это вернеттаблица из двух столбцов и трех строк.Фактически это эквивалентно: SELECT 1 AS column1, 'one' AS column2 UNION ALL SELECT 2, 'two' UNION ALL SELECT 3, 'three';
Так что вам нужно
select * from table1, ( SELECT 1 AS val UNION ALL SELECT 2 UNION ALL SELECT 3 )b
Это еще один способ обойти отсутствие поддержки WITH в MySQL:
WITH
MySQL
create temporary table tmp (c int); insert into tmp (c) values (1), (2), (3); select * from tmp;