none
SQL CONSULTA RRS feed

  • Pregunta

  • Buen día, solicito de su gran ayuda con los siguiente, tengo una consulta la cual relaciono al final y me arroja este resultado:

    IdTicket

    Estado

    NombreGrupoSolicitud

    NombreTransaccion

    ABONADO

    5040205

    EJECUTADO

    INGRESA FRAUDE

    DETECCION CARRUSEL

    98655474

    5040205

    EJECUTADO

    INGRESA FRAUDE

    DETECCION CARRUSEL

    10588796

    5040223

    EJECUTADO

    INGRESA FRAUDE

    DETECCION CARRUSEL

    58748905

    5040223

    EJECUTADO

    INGRESA FRAUDE

    DETECCION CARRUSEL

    45112256

    5040000

    EJECUTADO

    INGRESA FRAUDE

    DETECCION CARRUSEL

    58774778

    5040000

    EJECUTADO

    INGRESA FRAUDE

    DETECCION CARRUSEL

    25653652

     

    quisiera saber si le puedo colocar algo a la consulta para que me agrupe el campo ABONADO, me explico, que por cada IdTicke me agrupe el ABONADO y me de el dato de cuantos abonados tiene ese ticket y no me salga cada abonado que exista, que salga lo siguiente:

    IdTicket

    Estado

    NombreGrupoSolicitud

    NombreTransaccion

    ABONADO

    5040205

    EJECUTADO

    INGRESA FRAUDE

    DETECCION CARRUSEL

    2

    5040223

    EJECUTADO

    INGRESA FRAUDE

    DETECCION CARRUSEL

    2

    5040000

    EJECUTADO

    INGRESA FRAUDE

    DETECCION CARRUSEL

    2

          

    SELECT A.IdTicket, A. Estado, A.NombreGrupoSolicitud, A.NombreTransaccion, A.ABONADO

    FROM Gestion_Soporte_BO A LEFT JOIN OIM11_ReporteUsuarioYAplicativos B ON A.UsuarioSolicitudRed=B.Login_OIM LEFT JOIN Gestion_Soporte_Analista_BO C ON A.NombreTransaccion=C.NombreTransaccion

    jueves, 28 de enero de 2021 14:58

Respuestas

Todas las respuestas

  • Hola Cristian8703:

    Tal cual muestras la consulta, a priori, te sobran los conjuntos B y C porque no devuelves ninguna columna de ellos, ni aplicas ninguna restricción, por tanto no hacen falta.

    Select a.idticket
    	 , a.estado
    	 , a.nombregruposolicitud
    	 , a.nombretransaccion
    	 , COUNT(*) AS ABONADO
    	   From gestion_soporte_bo As a
    		Group by 
    		a.idticket
    	 , a.estado
    	 , a.nombregruposolicitud
    	 , a.nombretransaccion;

    Con la función count tienes que obtener lo que solicitas.

    Count

    https://docs.microsoft.com/es-es/sql/t-sql/functions/count-transact-sql?view=sql-server-ver15

    • Marcado como respuesta Cristian8703 jueves, 28 de enero de 2021 22:36
    jueves, 28 de enero de 2021 16:06
  • Buen día, tienes razón, la consulta completa seria la que te relaciono al final, con esta consulta es posible realizar lo que te indique al principio? 

    SELECT A.IdTicket, A. Estado, DAY(A.FechaSolic) Dia_Solicitud, datename(MONTH, A.FechaSolic) Mes_Solicitud,
    YEAR (A.FechaSolic) Año_Solicitud, DAY(A.[Fecha de cierre]) Dia_Cierre, datename(MONTH, A.[Fecha de cierre]) Mes_Cierre,
    YEAR (A.[Fecha de cierre]) Año_Cierre, A.UsuarioSolicitudRed, B.Nombre, A.NombreGrupoSolicitud, A.UsuarioCierreRed, C.Analista,
    A.NombreTransaccion, A.CausalEstado, A.ABONADO, A.Cod_Cliente, A.[Numero Identificación], A.PROCESO,
    DAY(A.[FECHA REPORTE]) Dia_Reporte, datename(MONTH, A.[FECHA REPORTE]) Mes_Reporte, YEAR (A.[FECHA REPORTE]) Año_Reporte 
    FROM Gestion_Soporte_BO A
    LEFT JOIN OIM11_ReporteUsuarioYAplicativos B ON A.UsuarioSolicitudRed=B.Login_OIM
    LEFT JOIN Gestion_Soporte_Analista_BO C ON A.NombreTransaccion=C.NombreTransaccion

    jueves, 28 de enero de 2021 16:53
  • Hola Cristian Creo que lo que quieres hacer es contar los abonados de la Columna IdTicket, lo resuelves agrupando 

    DECLARE @TPAS TABLE 
    (IdTicket NVARCHAR(10), Estado NVARCHAR(10), NombreGrupoSolicitud NVARCHAR(25), 
             NombreTransaccion NVARCHAR(25), ABONADO NVARCHAR(15))


    INSERT INTO @TP VALUES ('5040205', 'EJECUTADO', 'INGRESA FRAUDE', 'DETECCION CARRUSEL', '98655474')
    INSERT INTO @TP VALUES ('5040205', 'EJECUTADO', 'INGRESA FRAUDE', 'DETECCION CARRUSEL','10588796')
    INSERT INTO @TP VALUES ('5040223', 'EJECUTADO', 'INGRESA FRAUDE', 'DETECCION CARRUSEL','58748905')
    INSERT INTO @TP VALUES ('5040223', 'EJECUTADO', 'INGRESA FRAUDE', 'DETECCION CARRUSEL','45112256')
    INSERT INTO @TP VALUES ('5040000', 'EJECUTADO', 'INGRESA FRAUDE', 'DETECCION CARRUSEL','58774778')
    INSERT INTO @TP VALUES ('5040000', 'EJECUTADO', 'INGRESA FRAUDE', 'DETECCION CARRUSEL','25653652')

    SELECT IdTicket , Estado, NombreGrupoSolicitud , NombreTransaccion, COUNT(*) ABONADO 
    FROM @TABLE_TMP
    GROUP BY IdTicket , Estado, NombreGrupoSolicitud , NombreTransaccion



    jueves, 28 de enero de 2021 14:58

    Carlos Pelaez

    sábado, 30 de enero de 2021 9:15