none
Como puedo obtner la suma de las columnas en forma vertical RRS feed

  • Pregunta

  • Hola no he logrado obtener la suma de las columnas verticales en realidad se esta sumando mal , el resultado actual es el siguiente

    Mi consulta es esta

     DECLARE @pre TABLE(
     FormCategory VARCHAR(100),
     Status CHAR(1),
     Cnt INT
     )

     INSERT INTO @pre(FormCategory,Status,Cnt)
     SELECT
     *
     FROM (
             SELECT
                 fc.FormCategory
                ,s.Status
                ,COUNT(9) Cnt
             FROM WebForms.Submissions s
                 LEFT JOIN WebForms.Masters m
                     ON m.WebFormID = s.WebFormID
                 LEFT JOIN WebForms.Forms f
                     ON f.FormID = m.FormID
                 LEFT JOIN WebForms.FormCategory fc
                     ON fc.FormCategoryID = f.FormCategory
                 LEFT JOIN WebForms.Groups og
                     ON og.GroupID = m.OwnerGroupID
             WHERE
                 s.Period = @Period_Dom
                 AND (@GFS_SiteID IS NULL OR og.SiteID = @GFS_SiteID)
             GROUP BY
                 fc.FormCategory
                ,s.Status
             UNION
             SELECT
                 fc.FormCategory
                ,'A' Status
                ,COUNT(9) Cnt
             FROM WebForms.Submissions s
                 LEFT JOIN WebForms.Masters m
                     ON m.WebFormID = s.WebFormID
                 LEFT JOIN WebForms.Forms f
                     ON f.FormID = m.FormID
                 LEFT JOIN WebForms.FormCategory fc
                     ON fc.FormCategoryID = f.FormCategory
                 LEFT JOIN WebForms.Groups og
                     ON og.GroupID = m.OwnerGroupID
             WHERE
                 s.Period = @Period_Dom
                 AND (@GFS_SiteID IS NULL OR og.SiteID = @GFS_SiteID)
             GROUP BY fc.FormCategory
         ) a

    SELECT
        b.FormCategory
       ,b.Completed
       ,b.RTS
       ,b.Submitted
       ,b.NotSubmitted
       ,b.GrandTotal
    FROM (
             SELECT
                 p.FormCategory
                ,1 Ordinal
                ,ISNULL(C, 0) Completed
                ,ISNULL(R, 0) RTS
                ,ISNULL(S, 0) Submitted
                ,ISNULL(NULL, 0) NotSubmitted
                ,ISNULL(A, 0) GrandTotal
             FROM (SELECT FormCategory, Status, Cnt FROM @pre) x
             PIVOT (   SUM(Cnt)
                       FOR Status IN (C, R, S, A)
                   ) p
             UNION
             SELECT
                 'GrandTotal'
                , 2 Ordinal
                ,(SELECT COUNT(9)FROM WebForms.Submissions WHERE Period = @Period_Dom AND Status = 'C') Completed
                ,(SELECT COUNT(9)FROM WebForms.Submissions WHERE Period = @Period_Dom AND Status = 'R') RTS
                ,(SELECT COUNT(9)FROM WebForms.Submissions WHERE Period = @Period_Dom AND Status = 'S') Submitted
                ,(SELECT COUNT(9)FROM WebForms.Submissions WHERE Period = @Period_Dom AND Status = 'N') NotSubmitted
                ,(SELECT COUNT(9)FROM WebForms.Submissions WHERE Period = @Period_Dom) GrandTotal
         ) b
    ORDER BY Ordinal



    WAQ

    jueves, 22 de noviembre de 2018 14:53

Respuestas

Todas las respuestas