[ 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




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)