¿Hay alguna manera en MySql para crear una tabla en línea para usar para unirse?Mysql: Crear tabla en línea dentro de la instrucción select?
Algo así como:
SELECT LONG [1,2,3] as ID, VARCHAR(1) ['a','b','c'] as CONTENT
que emitiría
| ID | CONTENT |
| LONG | VARCHAR(1)|
+------+-----------+
| 1 | 'a' |
| 2 | 'b' |
| 3 | 'c' |
y que podría utilizar en una unión como esta:
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
Soy consciente de que puedo hacer
SELECT 1,'a' UNION SELECT 2,'b' UNION SELECT 3,'c'
Pero eso parece bastante mal
no quiero hacer un procedimiento almacenado debido potencialmente a, b, c puede cambiar en cada consulta y el tamaño de los datos también. También se debe guardar un procedimiento almacenado en la base de datos, y no quiero tener que modificar la base de datos solo para eso. Ver es lo mismo.
Lo que realmente estoy buscando es algo que hace SELECT 1,'a' UNION SELECT 2,'b' UNION SELECT 3,'c'
con una sintaxis más agradable.
Parece un concepto sencillo con casos de uso obvios. Necesito encontrar algo como esto también. –
¿Has encontrado alguna solución? Tengo curiosidad –
@FernandoCarvalhosa: no, parece que no se puede hacer sin unión –