uyy hasta donde veo parece estar correcto, revisaste las restricciones de las vistas, de que no puedes crear de tablas temporales, no pueden haber subconsultas, esas cosas, tal vez sea alguna de ellas, aqui te dejo las restricciones
Cita: A view definition is subject to the following restrictions:
*
The SELECT statement cannot contain a subquery in the FROM clause.
*
The SELECT statement cannot refer to system or user variables.
*
The SELECT statement cannot refer to prepared statement parameters.
*
Within a stored routine, the definition cannot refer to routine parameters or local variables.
*
Any table or view referred to in the definition must exist. However, after a view has been created, it is possible to drop a table or view that the definition refers to. To check a view definition for problems of this kind, use the CHECK TABLE statement.
*
The definition cannot refer to a TEMPORARY table, and you cannot create a TEMPORARY view.
*
The tables named in the view definition must already exist.
*
You cannot associate a trigger with a view.
cya