[ Foro de SQL (y MySQL) ]

ERROR #1351 - View's SELECT contains a variable or parameter

16-Jul-2019 08:00
kevin callupe santillan
0 Respuestas

Tengo una consulta de varias tablas el cual llamare tabla_construida, que me muestra lo siguiente:
  region   |  semana   |   tipo_trabajo   |  trab_ejecutados
   LIMA    |        1         |  Atenc. Coorp   |              1
   LIMA    |        2         |  Atenc. Coorp   |              0
   LIMA    |        3         |  Atenc. Coorp   |              2
   LIMA    |        1         |          Atps          |              0
   LIMA    |        2         |          Atps          |             27
   LIMA    |        3         |          Atps          |             17

lo que busco es crear una vista que me acumule lo que se tiene un registro antes, dependiendo de que sea de la misma region y del mismo trabajo. si hago una consulta el query seria el siguiente:

******************************
SELECT region
 , semana
, tipo_trabajo
, trab_ejecutados
, @acumulado_eje := if( (region,tipo_trabajo)=(@region,@trabajo)
                  , @acumulado_eje
                  , ifnull( concat( @region := region
                                  , @trabajo := tipo_trabajo
                                  , null
                                  )
                          , 0
                          )
                  )
              + trab_ejecutados acumulado1    
FROM tabla_construida t
 JOIN ( SELECT @acumulado_eje := 0
           , @region  := null
           , @trabajo := null
    ) vars
***************************

lo cual me muestra de la siguiente manera:
  region   |  semana   |   tipo_trabajo   |  trab_ejecutados  |  acumulado1
   LIMA    |        1         |  Atenc. Coorp   |              1                 |           1
   LIMA    |        2         |  Atenc. Coorp   |              0                 |           1
   LIMA    |        3         |  Atenc. Coorp   |              2                 |           3
   LIMA    |        1         |          Atps          |              0                 |           0
   LIMA    |        2         |          Atps          |             27                |           27
   LIMA    |        3         |          Atps          |             17                |           44

pero cuando quiero crear una vista con este codigo, me sale el siguiente error

#1351 - View's SELECT contains a variable or parameter

habra alguna manera de crear una vista que acepte los @ ?

Estoy tratando de realizar esta vista porque despues necesito llamarla desde powerbi, para mostrar unos cuadros estadisticos




Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...