none
Error "Order by" en consulta RRS feed

  • Pregunta

  • Tengo el siguiente Script.

    create table temporal (Fecha_Hora datetime, Estado varchar(10))
    insert into temporal values (convert(datetime, '2019-03-12 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-03-13 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-03-14 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-03-15 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-03-16 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-03-17 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-03-18 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-03-19 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-03-20 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-03-21 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-03-22 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-03-23 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-03-24 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-03-25 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-03-26 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-03-27 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-03-28 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-03-29 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-03-30 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-03-31 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-04-01 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-04-02 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-04-03 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-04-04 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-04-05 02:29', 120), 'Operando');
    insert into temporal values (convert(datetime, '2019-04-06 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-04-07 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-04-08 02:29', 120), 'Parado'  );
    insert into temporal values (convert(datetime, '2019-04-09 02:29', 120), 'Parado'  );
    
    
    WITH 
    TMP_ORD (Fecha, Estado, Posicion)
    AS   (select Fecha_Hora, Estado, ROW_NUMBER() OVER (Order BY Fecha_Hora) Posicion
          from   temporal)
    select convert(varchar(10),min(Fecha),103) + ' ' +convert(varchar(8), min(Fecha),108) as fecha_inicio
         , convert(varchar(10),max(Fecha)+1,103) + ' ' +convert(varchar(8), max(Fecha)+1,108)  as fecha_termino
         , estado
    from   (	
            select a.fecha fecha
                 , b.fecha sig_fecha
                 , a.estado estado
                 , b.estado sig_estado
                 , sum(case when a.estado!=b.estado 
                            then 1 else 0 
                       end) over (partition by a.estado order by a.Posicion) grp
    
            from   tmp_ord a left join tmp_ord b 
            on a.Posicion = b.Posicion - 1
           ) SQ
    where  estado = sig_estado
    and    estado = 'Parado'
    group  by grp, estado;

    Al momento de generar la consulta en esta linea me figura error. Estoy usando SQL SERVER 2008R2

                       end) over (partition by a.estado order by a.Posicion) grp
    Msg 102, Level 15, State 1, Line 48
    Incorrect syntax near 'order'.

    miércoles, 13 de marzo de 2019 19:36

Todas las respuestas