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 22-01-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
No estoy demasiado puesto con esos tipos de consultas.... porque la verdad es que nunca practiqué algo así... No se si lo que digo es posible... Creería que se puede conseguir algo así con los componentes de la paleta Decision Cube.

¿Que motor de base de datos usas? Algunos motores soportan la clausula PIVOT que si no me equivoco permite devolver una consulta de dicha forma.

Como dije... no estoy totalmente seguro, pero creo que por allí van los tiros.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #2  
Antiguo 22-01-2008
espericueta espericueta is offline
Miembro
 
Registrado: ene 2008
Posts: 13
Poder: 0
espericueta Va por buen camino
objetos

Una de las ventajas de sql es que te permite generar varios objetos esto te puede servir

Código SQL [-]
select t1.codigo as codigo ,t1.lectura as fecha1,t2.lectura as fecha2 ,abs(t1.lectura-t2.lectura)as consumo
from tutabla t1 
inner join  tutabla t2 
on t1.codigo=t2.codigo 
where t1.fecha = :fecha1  and t2.fecha = :fecha2

Última edición por espericueta fecha: 22-01-2008 a las 19:31:41.
Responder Con Cita
  #3  
Antiguo 22-01-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
La opción de Delphius es la acertada, sin embargo muestro otras dos opciones más:

- Si tu SGBBDD tiene procedimientos almacenados (SP) puedes construir uno. Siempre y cuando el número de columnas sea fijo y conocido de antemano.

- Usar controles Non data-aware, es decir, un StringGrid y rellenarlo por código delphi.

La consulta base para ambas soluciones sería algo así:
Código SQL [-]
select * from lecturas
where 
(fecha = :fecha1) or (fecha = :fecha2)
order by codigo asc, fecha asc
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 22-01-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Consulta

Como dijo Delphius la solucion es mejor hacera en un Stored Procedure, en SQL Server seria mas o menos asi:

Código SQL [-]
CREATE PROCEDURE dbo.Test
@FECHA1 DATETIME,
@FECHA2 DATETIME
AS
BEGIN

  SET NOCOUNT ON 
                 
 
SELECT CODIGO,
  SUM(CASE  
  WHEN FECHA = @FECHA1 THEN LECTURA ELSE 0 END) [FECHA1],
  SUM(
  CASE
  WHEN FECHA = @FECHA2 THEN LECTURA ELSE 0 END) [FECHA2]
  FROM #LECTURA 
  WHERE FECHA = @FECHA1 OR FECHA=@FECHA2
  GROUP BY CODIGO 
  
END

Ya la resta del consumo la puedes hacer en un campo calculado

Saludos
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
como cargar varias imagenes en varios image1.picture kurono Varios 2 15-01-2008 01:08:26
Sacar el primer resultado de una consulta con varios VRO Firebird e Interbase 5 04-05-2007 16:23:14
¿cómo puedo manejar los datos de una consulta si son varios registros? nuri SQL 3 18-07-2005 13:02:43
guardar registros en un IBDataSet que es consulta a varias tablas?? Giniromero Conexión con bases de datos 4 14-11-2003 10:31:13


La franja horaria es GMT +2. Ahora son las 07:24:28.


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