none
Ayuda con consulta RRS feed

  • Pregunta

  • Buenas tardes a todos. Tengo la siguiente consulta SQL

    SELECT CONVERT(CHAR(10), fechahora, 120) as fechahora, (MAX(tiempo_conduccion_sobre_vel_max) - MIN(tiempo_conduccion_sobre_vel_max)) as contador, patente 
    FROM estados_vehiculo 
    WHERE fechahora between '2019-02-03 00:00:00' and '2019-05-28 23:59:59' and patente = 'KHWW22'
    GROUP BY CONVERT(CHAR(10), fechahora, 120), patente 
    ORDER BY CONVERT(CHAR(10), fechahora, 120) asc

    la cual me retorna los siguientes datos.

    lo que necesito hacer es listar todo cuando el valor de contador sea mayor a cero(0),

    cómo puedo hacer eso? 

    Muchas gracias a todos.

    Saludos.

    miércoles, 29 de mayo de 2019 19:34

Respuestas

  • Hola Enrique Aleman:

    Puedes envolver tu consulta en una tabla derivada, y aplicarle un where

    SELECT       O.fechahora
    	   , O.contador
    	   , O.patente
    FROM  /* envolver tu consulta en un select … from ( */        
    (
        SELECT CONVERT(CHAR(10), fechahora, 120) AS fechahora
    	    , (MAX(tiempo_conduccion_sobre_vel_max) - MIN(tiempo_conduccion_sobre_vel_max)) AS contador
    	    , patente
        FROM   
    	    estados_vehiculo
        WHERE  fechahora BETWEEN '2019-02-03 00:00:00' AND '2019-05-28 23:59:59'
    		 AND patente = 'KHWW22'
        GROUP BY CONVERT(CHAR(10), fechahora, 120)
    		 , patente
    ) AS O
     /* la salida de tu consulta se llama conjunto O */
    WHERE o.contador > 0
    ORDER BY O.fechahora ASC;

    Tabla derivada

    https://javifer2.blogspot.com/search/label/Tabla%20derivada

    • Marcado como respuesta Enrique Aleman miércoles, 29 de mayo de 2019 20:06
    miércoles, 29 de mayo de 2019 19:41

Todas las respuestas

  • Hola Enrique Aleman:

    Puedes envolver tu consulta en una tabla derivada, y aplicarle un where

    SELECT       O.fechahora
    	   , O.contador
    	   , O.patente
    FROM  /* envolver tu consulta en un select … from ( */        
    (
        SELECT CONVERT(CHAR(10), fechahora, 120) AS fechahora
    	    , (MAX(tiempo_conduccion_sobre_vel_max) - MIN(tiempo_conduccion_sobre_vel_max)) AS contador
    	    , patente
        FROM   
    	    estados_vehiculo
        WHERE  fechahora BETWEEN '2019-02-03 00:00:00' AND '2019-05-28 23:59:59'
    		 AND patente = 'KHWW22'
        GROUP BY CONVERT(CHAR(10), fechahora, 120)
    		 , patente
    ) AS O
     /* la salida de tu consulta se llama conjunto O */
    WHERE o.contador > 0
    ORDER BY O.fechahora ASC;

    Tabla derivada

    https://javifer2.blogspot.com/search/label/Tabla%20derivada

    • Marcado como respuesta Enrique Aleman miércoles, 29 de mayo de 2019 20:06
    miércoles, 29 de mayo de 2019 19:41
  • Muchas gracias por tu respuesta. Fue muy util.

    Saludos.

    miércoles, 29 de mayo de 2019 20:06
  • De nada. Un placer.
    miércoles, 29 de mayo de 2019 20:10