SQL - Subconsulta SQL

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado su posición en 50 puestos en SQL (en relación al último mes)
Gráfica de SQL

Subconsulta SQL

Publicado por Giancarlos (1 intervención) el 21/06/2020 02:15:58
Buen día,

Explico mi situación:

-Tengo una tabla llamada "UserProfile", donde una de sus columnas llamada Puesto almacena el ID del puesto del usuario. -Este puesto se almacena en una tabla llamada "Puestos" el cual está conformada por las columnas IdPuesto y Puesto.

El problema que tengo es el siguiente: tengo una tabla llamada Tareas, donde existe un ASIGNADOR, CONTROLADOR Y REALIZADOR, lo que quiero lograr es obtener el Puesto de cada uno de estos 03 sujetos para así poder filtrarlo posteriormente.

Anexo la consulta SQL que tengo del módulo de tareas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
select  t.IdTareas,t.Asunto,t.IdContacto,cont.fld_Nomb_Apel_Razon_Social as Contacto,
                                t.AsignadoPor,
                                                   (SELECT        UserName
                                                           FROM            gestionDeTareas.dbo.UserProfile
                                                           WHERE        (UserId = t.AsignadoPor)) AS 'Asignador',
                                 t.ControladaPor,
                                                     (SELECT        UserName
                                                           FROM            gestionDeTareas.dbo.UserProfile AS UserProfile_2
                                                           WHERE        (UserId = t.ControladaPor)) AS 'Controlador',
                                 t.AsignadaA,
                                                     (SELECT        UserName
                                                           FROM            gestionDeTareas.dbo.UserProfile AS UserProfile_3
                                                           WHERE        (UserId = t.AsignadaA)) AS 'Realizador',
                                t.FechaAsignacion,t.FechaDeVencimiento,t.FechaCambioDeEstado,t.Observaciones,t.Estado as EstadoTarea,et.Estado as EstadoDetalle,t.IdPuesto,Puestos.Puesto,Confidencial
                        from gestionDeTareas.dbo.Tareas t
                        left outer join gestionDeTareas.dbo.EstadoDeTareas et
                          on t.Estado = et.IdEstadosDeTareas
                        left outer join bd_gestion_de_tareas_config.dbo.vi_list_contactos cont
                          on t.IdContacto = cont.IdContacto
                        left outer join gestionDeTareas.dbo.UserProfile AS UserProfileAsignador
                          on t.AsignadoPor = UserProfileAsignador.UserId
                        left outer join gestionDeTareas.dbo.UserProfile AS UserProfileAsignadoPor
                          on t.AsignadoPor = UserProfileAsignadoPor.UserId
                        left outer join gestionDeTareas.dbo.UserProfile AS UserProfileAsignadaA
                          on t.AsignadaA = UserProfileAsignadaA.UserId
                         left outer join gestionDeTareas.dbo.Puestos AS Puestos
                         on t.IdPuesto = Puestos.IdPuesto
                     WHERE (t.AsignadoPor=@asignador or t.ControladaPor=@controlador)
                    Order by IdTareas ASC;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder