Ver Mensaje Individual
  #1  
Antiguo 13-03-2012
amerika111 amerika111 is offline
Miembro
 
Registrado: nov 2009
Posts: 168
Reputación: 0
amerika111 cantidad desconocida en este momento
Consulta Inner Join

hola, buenas tardes.. rebisando el funcionamiento de los inner joins.. me encontre con un enredo ....
la consulta es la siguiente:

select u.id,u.usr as usuario,
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

conlo que se obtiene el siguiente resultado;
id usuario nombre completo estado descr descr dir_cliente ult_act
1,peri,ernesto glez,activo,permiso 2334,permiso acceso,123.123.23.1,23/09/2010
1,peri,ernesto glez,activo,permiso 344,permiso global,123.123.23.1,23/09/2010
1,peri,ernesto glez,activo,permiso 333,permiso acceso,123.123.23.1,23/09/2010
2,odin,carlos gomez,activo,permiso2334,permiso global,123.233.2.1,2/06/2012
2,odin,carlos gomez, activo,permiso333,permiso acceso,123.233.2.1,2/06/2012

y lo que sucede que el mismo usuario se repite tantos permisos tenga:

no habra una manera de que solo se vea una vez el usuario y solo se repitan los permisos

id usuario nombre completo estado descr descr dir_cliente ult_act
1,peri,ernesto glez,activo,permiso 2334,permiso acceso,123.123.23.1,23/09/2010
permiso 344,permiso global
permiso 333,permiso acceso
2,odin,carlos gomez,activo,permiso2334,permiso global,123.233.2.1,2/06/2012
permiso333,permiso acceso

Última edición por amerika111 fecha: 13-03-2012 a las 18:51:39.
Responder Con Cita