Есть ли способ в 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'
с более приятным синтаксисом.