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 24-05-2010
martape martape is offline
Registrado
 
Registrado: may 2010
Posts: 1
Poder: 0
martape Va por buen camino
Ayuda en query

Hola a todos,

Estoy intentando hacer una query y no consigo el resultado que necesito.

Imagino que será sencillo, pero no doy con ello

A ver si se os ocurre alguna idea.

Tengo una tabla donde se almacenan los datos de clientes.
En concreto los campos son:
Client_id; account_manager; sales_manager; date

Se van guardando los datos de cada día, de modo que por ejemplo tengo un listado como este:
Client_id; account_manager; sales_manager; date
1; fernandez; rodriguez; 2010-05-19
1; gomez; dominguez; 2010-05-17
2; gomez; dominguez; 2010-05-18
2; gomez; dominguez; 2010-05-17

A mí lo que me interesa es que la query me devuelva el listado de registros por cliente, pero solo el último día que ese cliente tiene un registro.

Por ejemplo, en las tres filas que he pegado antes, hay dos líneas para el cliente 1, una para el día 19 y otra para el día 17. De un día a otro el account_manager y el sales_manager han cambiado.
Lo que yo quiero ver es quién es el account_manager y el sales_manager más reciente.
En el cliente 2 hay también dos registros de dos días distintos, pero el account_manager y el sales_manager no han cambiado.
Por lo tanto como resultado de la query me tendría que dar:

Client_id; account_manager; sales_manager; date
1; fernandez; rodriguez; 2010-05-19
2; gomez; dominguez; 2010-05-18

Es decir, la query toma la tabla original y dice: select cada client_id y dame el account_manager y el sales_manager del último día en que haya un registro para ese cliente.

Hasta ahora la query sería algo así:

SELECT client_management.Client_id, client_management.account_manager, client_management.sales_manager, Max(client_management.Date) AS [MaxOfDate]
FROM client_management
GROUP BY client_management.Client_id, client_management.account_manager, client_management.sales_manager
ORDER BY client_management.Client_id, Max(crm_am_test.Date) DESC;

El problema es que esto me da como resultado:

Client_id; account_manager; sales_manager; date
1; fernandez; rodriguez; 2010-05-19
1; gomez; dominguez; 2010-05-17
2; gomez; dominguez; 2010-05-18

Es decir, al agrupar los resultados por client_id, de forma correcta me devuelve el cliente 2 solo una vez con los valores para el último día donde hay datos (18 Mayo) y porque en la tabla original el cliente 2 tiene los mismos valores de account_manager y sales_manager en ambos días en que aparece.
Sin embargo, el cliente 1 aparece dos veces, ya que los valores de account_manager y sales_manager han cambiado de un día a otro.

Y sin embargo, yo no quiero que me salga el cliente 1 dos veces, sino solo una línea por cada cliente que hay en la tabla original, con los valores de account_manager y sales_manager en el último día en que hubo registros para ese cliente.

He intentado explicarme lo mejor posible, espero que se haya entendido.

¿Alguien tiene alguna sugerencia?

Mil gracias,
Martape
Responder Con Cita
  #2  
Antiguo 24-05-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola martape, creo que la consulta tendría que ser así:

Código SQL [-]
Select c.*
From client_management c inner join (Select Client_id, MAX(date) As Fecha
                            From client_management Group By Client_id) c1
     On (c.Client_id = c1.Client_id And c.date = c1.Fecha)

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
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
Ayuda con query Paulao Varios 3 24-04-2008 17:43:08
Ayuda con Query look SQL 8 19-10-2007 19:46:07
Ayuda con Query Ado DBF Lucas_diaz1810 Conexión con bases de datos 3 26-12-2006 18:37:31
Ayuda con query Danielle Conexión con bases de datos 1 08-06-2006 22:15:52
ayuda con query karlita_cb SQL 1 31-01-2005 20:56:17


La franja horaria es GMT +2. Ahora son las 21:11:33.


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