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 21-01-2004
pescriba pescriba is offline
Miembro
 
Registrado: may 2003
Posts: 28
Poder: 0
pescriba Va por buen camino
query complicado...

Tengo una consulta que se me está complicando. A ver.

Tengo una tabla de clientes, otra de facturas y otra de servicios.

La tabla de servicios tiene una fecha de comienzo y otra de fin.

Quiero hacer un SELECT que me devuelva para cada cliente el ultimo servicio realizado, de acuerdo a la fecha del servicio. ¿Alguna idea?
Responder Con Cita
  #2  
Antiguo 21-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
si pusieras las estructuras de las tablas y las relaciones entre ellas, ayudaría

no obstante, puedes ir mirando la función Max()
Responder Con Cita
  #3  
Antiguo 22-01-2004
pescriba pescriba is offline
Miembro
 
Registrado: may 2003
Posts: 28
Poder: 0
pescriba Va por buen camino
mas datos

Está en PARADOX. La consulta que tengo ahora es esta

SELECT Facturas.IdAbono As IdAbono,MAX(Facturas.NumeroFactura) as NumeroFactura,
MIN(PF1.FechaInicio) as MinFechaInicio,
MAX(PF1.FechaFinal) as MaxFechaFinal,
MAX(Abonos.Nombre) as NombreAbono,MAX(Clientes.Nombre) as NombreCliente,MAX(Contratos.NoContrato) NumContrato
FROM Clientes,Abonos,Facturas,PeriodosFacturados PF1,Contratos
WHERE Facturas.IdFactura = PF1.IdFactura
AND Abonos.IdAbono = Facturas.IdAbono
AND Clientes.IdCliente = Abonos.IdCliente
AND Facturas.IdContrato = Contratos.IdContratos
GROUP BY Facturas.IdAbono,PeriodosFacturados.IdFactura
ORDER BY NombreCliente,NombreAbono,MinFechaInicio

que me devuelve una fila por factura, pero yo sólo quiero la última factura. Hay una tabla de clientes, cada cliente puede tener varios abonos, a cada uno de los cuales le corresponde una factura. Para cada factura hay un único contrato válido y una serie de Periodos Facturados

Esta es mi última idea

SELECT Abonos.Nombre,facturas.NumeroFactura,PeriodosFacturados.FechaInicio
FROM abonos,facturas,periodosfacturados
WHERE Abonos.IdAbono = Facturas.IdAbono AND Facturas.IdFactura = PeriodosFacturados.IdFactura
AND PeriodosFacturados.FechaInicio =
(SELECT MAX(PF1.FechaInicio) FROM PeriodosFacturados PF1
WHERE PF1.IdFactura = Facturas.IdFactura
)

Pero no funciona. Se cuelga al intentarlo. Quizás sea un fallo de Paradox?

Última edición por pescriba fecha: 22-01-2004 a las 13:42:20.
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


La franja horaria es GMT +2. Ahora son las 16:43:53.


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