Hola a todos, estoy tratando de crear una vista en una base de datos, el select de la vista tiene subquerys dentro del FROM, por eso he tenido que actualizar MySql a la ultima versión 5.7, en la que ya si se permite hacer esto, así que eso no debería ser la causa del error.
El caso es que la consulta que genera la vista, si la pruebo por separado funciona pero al intentar generar la vista a partir de ella me da varios problemas. La consulta es esta:
SELECT TBL.ID, TBL.PRODUCTO,TBL.TIPO,TBL.CANTIDAD,TBL.CREATED_BY,TBL.FECHA FROM
(
( SELECT ael.ID AS ID,ael.producto_id as PRODUCTO, 'ALBARAN DE ENTREGA' AS TIPO, ael.CANTIDAD AS CANTIDAD , ael.CREATED_BY AS CREATED_BY, ae.FECHA AS FECHA FROM ges_albaran_entrega_lineas ael INNER JOIN ges_albaran_entrega ae on ael.PARENT_ID = ae.ID )
UNION ALL
( SELECT al.ID AS ID,al.producto_id as PRODUCTO, 'ALBARAN DE RECEPCION' AS TIPO, al.CANTIDAD AS CANTIDAD, al.CREATED_BY AS CREATED_BY, a.FECHA AS FECHA FROM ges_albaran_lineas al INNER JOIN ges_albaran a on al.PARENT_ID = a.ID )
) AS TBL ORDER BY TBL.FECHA
Pero al intentar crear la vista me lanza varios errores:
CREATE
OR REPLACE
VIEW gestion.VIEW_GES_MOV_PRODUCTO
AS
SELECT TBL.ID, TBL.PRODUCTO,TBL.TIPO,TBL.CANTIDAD,TBL.CREATED_BY,TBL.FECHA FROM
(
( SELECT ael.ID AS ID,ael.producto_id as PRODUCTO, 'ALBARAN DE ENTREGA' AS TIPO, ael.CANTIDAD AS CANTIDAD , ael.CREATED_BY AS CREATED_BY, ae.FECHA AS FECHA FROM ges_albaran_entrega_lineas ael INNER JOIN ges_albaran_entrega ae on ael.PARENT_ID = ae.ID )
UNION ALL
( SELECT al.ID AS ID,al.producto_id as PRODUCTO, 'ALBARAN DE RECEPCION' AS TIPO, al.CANTIDAD AS CANTIDAD, al.CREATED_BY AS CREATED_BY, a.FECHA AS FECHA FROM ges_albaran_lineas al INNER JOIN ges_albaran a on al.PARENT_ID = a.ID )
) AS TBL ORDER BY TBL.FECHA
Estoy utilizando phpMyAdmin como consola SQL, los errores que lanza son estos:
Error-1: Se esperaba una expresión. (near "(" at position 164)
Error-2: Símbolo (token) inesperado. (near "(" at position 164)
Error-3: Símbolo (token) inesperado. (near "(" at position 165)
Error-4: Este tipo de cláusula se analizó previamente. (near "SELECT" at position 166)
Error-5: Este tipo de cláusula se analizó previamente. (near "SELECT" at position 427)
A ver si alguien puede decirme que esta pasando.