SQL - Consulta SQL por Rango

 
Vista:

Consulta SQL por Rango

Publicado por joffer (2 intervenciones) el 09/04/2008 16:09:40
Buenas, a ver si alguien sabe hacer en sql la siguiente consulta que propongo:

Tabla: Partes
IdParte, Fecha, IdCategoria, Horas

Haciendo:
SELECT Partes.Fecha, Partes.IdCategoria, Partes.Horas
FROM Partes
ORDER BY Partes.Fecha;

< ="Content-" content="text/;charset=UTF-8">
Fecha IdCategoria Horas
01/01/2001 27 7
01/01/2001 27 5
02/01/2001 27 2
03/01/2001 15 8
04/01/2001 27 5
05/01/2001 27 6

Si quiero Obtener el total de Horas por categorías bastaría con:
SELECT Partes.IdCategoria, Sum(Partes.Horas) AS SumaDeHoras
FROM Partes
GROUP BY Partes.IdCategoria;
< ="Content-" content="text/;charset=UTF-8">
IdCategoria SumaDeHoras
15 8
27 25

Si quiero Obtener el total de Horas por dias bastaría con:
SELECT Partes.Fecha, Sum(Partes.Horas) AS SumaDeHoras
FROM Partes
GROUP BY Partes.Fecha;
< ="Content-" content="text/;charset=UTF-8">
Fecha SumaDeHoras
01/01/2001 12
02/01/2001 2
03/01/2001 8
04/01/2001 5
05/01/2001 6

Problema:
Lo que necesito es ver las horas por Rango, es decir, la siguiente tabla:
< ="Content-" content="text/;charset=UTF-8">
Desde Hasta Categoria Horas
01/01/01 02/01/01 27 12
03/01/01 03/01/01 15 8
04/01/01 05/01/01 27 11

y en ese orden.

¿Alguna sugerencia?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta SQL por Rango

Publicado por Isaias (5072 intervenciones) el 09/04/2008 21:42:43
Dependera de la base de datos que este manejando, en SQL SERVER, existe la clausula MIN(Campo), MAX(Campo), para sacar el valor minimo y maximo en referencia a un campo, en este caso, a su fecha y agruparlo por Partes.IdCategoria, para realizar la diferencia en horas entre 2 fechas, DATEDIFF(HH, FechaIni, FechaFin)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL por Rango

Publicado por joffer (2 intervenciones) el 10/04/2008 07:58:54
Estoy usando el motor sql de Access, donde existen esas opciones, pero ¿Cómo puedo obtener el min, max si la agrupación la hago por categorias?, ya que obtendría:

Desde Hasta
01/01/01 05/01/01 para la categoria 27
03/01/01 03/01/01 para la categoría 15

y lo que quiero obtener es el rango por orden cronológico:

Desde Hasta Categoria Horas
01/01/01 02/01/01 27 12
03/01/01 03/01/01 15 8
04/01/01 05/01/01 27 11
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar