Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-11-2008
potlanos potlanos is offline
Miembro
 
Registrado: jul 2003
Posts: 36
Poder: 0
potlanos Va por buen camino
Ayuda con consultas min(fecha) max(fecha)

Hola, tengo un problema con una consulta y no se como lo podria hacer (si se puede)...

tengo una tabla con los campos

fecha - precio
10/1 - 10
11/1 - 10
12/1 - 12
13/1 - 10
14/1 - 10

y quiero que salga este resultado :
fechadesde - fechahasta - precio
10/1 - 11/1 - 10
12/1 - 12/1 - 12
13/1 - 14/1 - 10

y ahora el que me sale con este select :
Código SQL [-]
select min(fecha) , max(fecha) , precio from tabla
        group by precio
es este :

fechadesde - fechahasta - precio
10/1 - 14/1 - 10
12/1 - 12/1 - 12

a ver si se puede hacer que salga como quiero...

gracias
Potlanos
Responder Con Cita
  #2  
Antiguo 04-11-2008
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
depende del gestor de base de datos? la idea seria aumentar un campo más que aumente en 1 según cambie el precio y luego usarlo el group by
__________________
self.free;
Responder Con Cita
  #3  
Antiguo 04-11-2008
potlanos potlanos is offline
Miembro
 
Registrado: jul 2003
Posts: 36
Poder: 0
potlanos Va por buen camino
es sql server.

la idea que me das es buena, pero como puedo hacerlo para que sea algo rapido, ten en cuenta que esta tabla podran modificar los precios de cualquier dia , ese contador seria bastante dificil de controlar.

Gracias.
Responder Con Cita
  #4  
Antiguo 04-11-2008
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
Con tablas temporales, (falta probar):
Código SQL [-]
Create table #t
(
fecha smalldatetime,
precio decimal(10,2),
grupo int
);
INSERT INTO #t(fecha, precio, grupo)
  SELECT fecha, precio, 0 FROM tabla ORDER BY fecha;

DECLARE @oldPrecio DECIMAL(10,2);
DECLARE @grupo int;
SET @oldPrecio = -1; --valor que no existe 
SET @grupo=0;
UPDATE #t set @grupo= grupo=(CASE WHEN @oldPrecio=precio THEN @grupo ELSE @grupo+1 END), @oldPrecio=precio=precio;
SELECT grupo, min(Fecha), max(Fecha), AVG(precio) FROM #t GROUP BY grupo;
__________________
self.free;
Responder Con Cita
  #5  
Antiguo 04-11-2008
pcicom pcicom is offline
Miembro
 
Registrado: may 2003
Ubicación: MONTERREY MEXICO
Posts: 253
Poder: 21
pcicom Va por buen camino
Código SQL [-]

select fecha,precio,min(fecha) , max(fecha) from tabla
        group by 1,2
__________________
Poco ha de saber el que no pregunta.. Yo por eso soy un pregunton

Última edición por pcicom fecha: 04-11-2008 a las 23:49:49.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consultas por fecha Montes PHP 1 29-02-2008 03:16:09
Consultas por fecha gerasA SQL 15 23-01-2008 22:50:04
Ayuda, Como calcular fecha de vencimiento mensual a partir de una fecha x en delphi Renis Impresión 4 23-08-2007 23:45:14
Consultas por fecha en access Mashabak Conexión con bases de datos 2 16-06-2004 19:33:17
hacer consultas buscando por fecha VRO Firebird e Interbase 10 07-06-2004 16:39:39


La franja horaria es GMT +2. Ahora son las 17:34:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi