Ayuda con Un Query.

04/06/2007 - 23:06 por Cesar O. Delgado | Informe spam
Saludos, a ver quien me puede dar una mano con un query... Que es lo que
quiero? deseo obtener de una tabla el primer registro de cada cliente
contenido en la tabla de cliente.. Ejemplo: tengo una tabla de CLIENTES y
otra de ACTIVIDADES, deseo obtener el primer registro de cada CLIENTE dentro
de la tabla de ACTIVIDADES cuyo actividad haya sido CAMBIO PASSWORD. teniendo
en cuenta que un cliente puede contener mas de un registro de CAMBIO DE
PASSWORD, en tal caso quiero obtener el primer el primer registro tomando en
cuenta que la fecha de actividad sea la mas vieja.

Estoy claro con lo que quiero, pero no se como realizarlo en SQL. Agregenme
al msn para mayor informacion... cesardelgado73@hotm. Gracias de
antemanos.
 

Leer las respuestas

#1 Alejandro Mesa
05/06/2007 - 00:10 | Informe spam
Cesar O. Delgado,

Trata:

select
*
from
dbo.clientes as c
inner join
(
select clienteid, min(fecha) as min_fecha
from dbo.actividades
where actividad = 'cambio password'
group by clienteid
) as a
on c.clienteid = a.clienteid
inner join
dbo.actividades as b
on b.clienteid = c.clienteid
and b.actividad = 'cambio password'
and b.fecha = a.min_fecha
go

Si el cliente no tiene una actividad de ese tipo, entonces no sera parte del
resultado. Si quieres incluir al cliente aunque no tenga este tipo de
actividad, entonces usa LEFT JOIN.


AMB

"Cesar O. Delgado" wrote:

Saludos, a ver quien me puede dar una mano con un query... Que es lo que
quiero? deseo obtener de una tabla el primer registro de cada cliente
contenido en la tabla de cliente.. Ejemplo: tengo una tabla de CLIENTES y
otra de ACTIVIDADES, deseo obtener el primer registro de cada CLIENTE dentro
de la tabla de ACTIVIDADES cuyo actividad haya sido CAMBIO PASSWORD. teniendo
en cuenta que un cliente puede contener mas de un registro de CAMBIO DE
PASSWORD, en tal caso quiero obtener el primer el primer registro tomando en
cuenta que la fecha de actividad sea la mas vieja.

Estoy claro con lo que quiero, pero no se como realizarlo en SQL. Agregenme
al msn para mayor informacion... Gracias de
antemanos.


Preguntas similares