Как создать таблицу, набор значений которой я знаю, ВНУТРИ ЗАПРОСА?

Хочу сделать что-то типа этого.

SELECT
    *
FROM
    (("1", "hi"), ("2", "hello")) as t

Ответы (1 шт):

Автор решения: Мелкий

В версии 8.0.19 был добавлен синтаксис VALUES. То есть для вашего примера коректно будет так:

values row("1", "hi"), row("2", "hello")

(это полностью запрос). Или как бессмысленный пример но для демонстрации использования в более сложных запросах:

select * from (values row("1", "hi"), row("2", "hello")) as t;

В более старых версиях - только собирать построчно через union all. Или в temporary табличку предварительно писать и потом работать с ней.

→ Ссылка