Ver Mensaje Individual
  #15  
Antiguo 11-04-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Hola
No se si entiendo bien.
Archivo1: muestra lo que contiene el dbgrid, osea, lo que muestra la consulta sql actualmente.
Usuarios: es como pretendes que se muestre en el dbgrid, osea, que la consulta sql genere.

Me da la impresión que quieres que el usuario no se repita, solo lo necesario.
Código SQL [-]
select DISTINCT u.usr as usuario, u.id,
       u.nom+' '+ u.ape_pat+' '+ u.ape_mat as 'Nombre Completo',
       CASE u.estado 
           when 1 then 'Activo' 
            when 2 then 'Suspendido' 
           end as 'Estado',
             p.descr,
       tp.descr ,
       ua.dir_cliente,
       ua.ult_act
 from fusu_usr_per up 
        inner join fusu_per p on up.id_per=p.id 
        inner join fusu_usr u on up.id_usr=u.id 
        inner join fusu_tper tp on p.id_tper=tp.id 
 inner join fusu_usr_acc ua on up.id_usr=ua.id_usr
 where ua.id=(Select Top 1 id from fusu_usr_acc where id_usr=ua.id_usr order by ult_act desc)
        order by u.id

O podría ser:

Código SQL [-]
select LAST(u.usr) as usuario, u.id,
       u.nom+' '+ u.ape_pat+' '+ u.ape_mat as 'Nombre Completo',
       CASE u.estado 
           when 1 then 'Activo' 
            when 2 then 'Suspendido' 
           end as 'Estado',
             p.descr,
       tp.descr ,
       ua.dir_cliente,
       ua.ult_act
 from fusu_usr_per up 
        inner join fusu_per p on up.id_per=p.id 
        inner join fusu_usr u on up.id_usr=u.id 
        inner join fusu_tper tp on p.id_tper=tp.id 
 inner join fusu_usr_acc ua on up.id_usr=ua.id_usr
 where ua.id=(Select Top 1 id from fusu_usr_acc where id_usr=ua.id_usr order by ult_act desc)
        order by u.id

No llevo el hilo del asunto, solo es una apreciación.
Saludos
__________________
Siempre Novato
Responder Con Cita