Есть ли способ в MySql создать встроенную таблицу для подключения?
Что-то вроде:
SELECT LONG [1,2,3] as ID, VARCHAR(1) ['a','b','c'] as CONTENT
который будет выводить
| ID | CONTENT |
| LONG | VARCHAR(1)|
+------+-----------+
| 1 | 'a' |
| 2 | 'b' |
| 3 | 'c' |
и что я мог бы использовать в объединении следующим образом:
SELECT
MyTable.*,
MyInlineTable.CONTENT
FROM
MyTable
JOIN
(SELECT LONG [1,2,3] as ID, VARCHAR(1) ['a','b','c'] as CONTENT MyInlineTable)
ON MyTable.ID = MyInlineTable.ID
Я понимаю, что могу сделать
SELECT 1,'a' UNION SELECT 2,'b' UNION SELECT 3,'c'
Но это кажется довольно злым
Я не хочу делать хранимую процедуру, потому что потенциально a, b, c могут изменяться при каждом запросе и размере данных. Также хранимая процедура должна быть сохранена в базе данных, и я не хочу изменять базу данных только для этого. Вид - это одно и то же.
То, что я действительно ищу, - это то, что делает SELECT 1,'a' UNION SELECT 2,'b' UNION SELECT 3,'c'
с более сильным синтаксисом.