none
Unir columna de una tabla a una consulta RRS feed

  • Pregunta

  • Hola que tal Buenas tardes quisiera, hacer una consulta uniendo dos tablas mi consulta original hace esto

    SELECT COUNT(idProceso) Ocaciones, idProceso FROM [Plataforma].[tabla1]

    WITH (NOLOCK) WHERE fechaCreacion BETWEEN '20170131 17:00'

    AND'20170131 18:00' AND idProceso in (155,105,101,102,607,116,108,129,134,131)GROUP BY idProceso

    y me regresa esto:

    #veces     IDProceso

    101            101
    42              102
    16              105
    15              108
    23              116
    4                129
    1                131
    16              155

    pero tengo otra tabla 'tabla2' que quiero que la columna descripcion me la agregue en la consulta de arriba:

    id       descripcion 

    101    SignIn
    105    SignOut
    108    Validacion de Usuario
    116   Reseteo de Password

    129    Activación de Usuario
    131    RSA
    155    Cambio de Password

    martes, 31 de enero de 2017 23:55

Respuestas

  • Hola, no te sirve utilizar join

       SELECT COUNT(t1.idProceso) Ocaciones, 
                    t1.idProceso,
                    t2.descripcion 
       FROM tabla1 t1 WITH (NOLOCK)
       LEFT JOIN  tabla2 t2 WITH (NOLOCK)
       ON t1.idproceso=t2.idproceso
       WHERE t1.fechaCreacion BETWEEN '20170131 17:00'  AND'20170131 18:00' 
       AND t1.idProceso in (155,105,101,102,607,116,108,129,134,131)
       GROUP BY t1.idProceso,t2.descripcion


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    • Editado Augusto1982 miércoles, 1 de febrero de 2017 1:55
    • Marcado como respuesta Jorge Arrieta miércoles, 1 de febrero de 2017 14:52
    miércoles, 1 de febrero de 2017 1:54

Todas las respuestas

  • Hola, no te sirve utilizar join

       SELECT COUNT(t1.idProceso) Ocaciones, 
                    t1.idProceso,
                    t2.descripcion 
       FROM tabla1 t1 WITH (NOLOCK)
       LEFT JOIN  tabla2 t2 WITH (NOLOCK)
       ON t1.idproceso=t2.idproceso
       WHERE t1.fechaCreacion BETWEEN '20170131 17:00'  AND'20170131 18:00' 
       AND t1.idProceso in (155,105,101,102,607,116,108,129,134,131)
       GROUP BY t1.idProceso,t2.descripcion


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    • Editado Augusto1982 miércoles, 1 de febrero de 2017 1:55
    • Marcado como respuesta Jorge Arrieta miércoles, 1 de febrero de 2017 14:52
    miércoles, 1 de febrero de 2017 1:54
  • Hola que tal Jorge, aqui te paso un ejemplo de como mostrarlo con una SUBCONSULTA,

     

    use tempdb
    go

    create table Plataforma(
    idproceso int)

    insert into Plataforma(idproceso)
                    values(101),(102),(105),(108),(116),(129),(101),(101)


    select count(idproceso) Ocasiones,idproceso from Plataforma
    group by idproceso

    create table Tabla2(
    id int,
    descripcion varchar(30))

    insert into Tabla2(id,descripcion)
                values(101,'SignIn'),
         (105,'SignOut'),
     (108,'Validacion de Usuario'),
     (116,'Reseteo de Password'),
     (129,'Activacion de Usuario'),
     (131,'RSA'),
     (155,'Cambio de Password')

    --MOSTRAMOS LA DESCRIPCION UTILIZANDO UNA SUBCONSULTA
    select count(plat.idproceso) Ocasiones,plat.idproceso,
          (select descripcion from Tabla2 as tb2 where tb2.id=plat.idproceso) descripcion
     from Plataforma plat
    group by idproceso

    Cualquier cosa nos comentas,

    Saludos,


    Business Intelligence Analyst

    miércoles, 1 de febrero de 2017 1:55