------------------------------COGS-----------------------------------------------------
SELECT X.Cardname, SUM(X.Jan) JAN, SUM(X.FEB) FRB, SUM(X.MAR) MAR, SUM(X.APR) APR, SUM(X.MAY) MAY
, SUM(X.JUN) JUN, SUM(X.JUL) JUL, SUM(X.AUG) AUG, SUM(X.SEP) SEP, SUM(X.OCT) OCT
, SUM(X.NOV) NOV, SUM(X.DEC) DEC, SUM(X.GT) GT
FROM (
SELECT T0.Cardname
, CASE DATEPART(m,T0.DocDate) WHEN 1 THEN T0.CogsVal ELSE 0 END JAN
, CASE DATEPART(m,T0.DocDate) WHEN 2 THEN T0.CogsVal ELSE 0 END FEB
, CASE DATEPART(m,T0.DocDate) WHEN 3 THEN T0.CogsVal ELSE 0 END MAR
, CASE DATEPART(m,T0.DocDate) WHEN 4 THEN T0.CogsVal ELSE 0 END APR
, CASE DATEPART(m,T0.DocDate) WHEN 5 THEN T0.CogsVal ELSE 0 END MAY
, CASE DATEPART(m,T0.DocDate) WHEN 6 THEN T0.CogsVal ELSE 0 END JUN
, CASE DATEPART(m,T0.DocDate) WHEN 7 THEN T0.CogsVal ELSE 0 END JUL
, CASE DATEPART(m,T0.DocDate) WHEN 8 THEN T0.CogsVal ELSE 0 END AUG
, CASE DATEPART(m,T0.DocDate) WHEN 9 THEN T0.CogsVal ELSE 0 END SEP
, CASE DATEPART(m,T0.DocDate) WHEN 10 THEN T0.CogsVal ELSE 0 END OCT
, CASE DATEPART(m,T0.DocDate) WHEN 11 THEN T0.CogsVal ELSE 0 END NOV
, CASE DATEPART(m,T0.DocDate) WHEN 12 THEN T0.CogsVal ELSE 0 END DEC
, T0.CogsVal GT
FROM dbo.OINM T0
WHERE T0.DocDate BETWEEN [%0] AND [%1]) X
Group By X.Cardname
---------------------------------------Sale ----------------------------------------
SELECT X.CardName, SUM(X.Jan) JAN, SUM(X.FEB) FRB, SUM(X.MAR) MAR, SUM(X.APR) APR, SUM(X.MAY) MAY
, SUM(X.JUN) JUN, SUM(X.JUL) JUL, SUM(X.AUG) AUG, SUM(X.SEP) SEP, SUM(X.OCT) OCT
, SUM(X.NOV) NOV, SUM(X.DEC) DEC, SUM(X.GT) GT
FROM (
SELECT T0.CardName
, CASE DATEPART(m,T0.DocDate) WHEN 1 THEN T0.DocTotal ELSE 0 END JAN
, CASE DATEPART(m,T0.DocDate) WHEN 2 THEN T0.DocTotal ELSE 0 END FEB
, CASE DATEPART(m,T0.DocDate) WHEN 3 THEN T0.DocTotal ELSE 0 END MAR
, CASE DATEPART(m,T0.DocDate) WHEN 4 THEN T0.DocTotal ELSE 0 END APR
, CASE DATEPART(m,T0.DocDate) WHEN 5 THEN T0.DocTotal ELSE 0 END MAY
, CASE DATEPART(m,T0.DocDate) WHEN 6 THEN T0.DocTotal ELSE 0 END JUN
, CASE DATEPART(m,T0.DocDate) WHEN 7 THEN T0.DocTotal ELSE 0 END JUL
, CASE DATEPART(m,T0.DocDate) WHEN 8 THEN T0.DocTotal ELSE 0 END AUG
, CASE DATEPART(m,T0.DocDate) WHEN 9 THEN T0.DocTotal ELSE 0 END SEP
, CASE DATEPART(m,T0.DocDate) WHEN 10 THEN T0.DocTotal ELSE 0 END OCT
, CASE DATEPART(m,T0.DocDate) WHEN 11 THEN T0.DocTotal ELSE 0 END NOV
, CASE DATEPART(m,T0.DocDate) WHEN 12 THEN T0.DocTotal ELSE 0 END DEC
, T0.DocTotal GT
FROM dbo.OINV T0
WHERE T0.DocDate BETWEEN [%0] AND [%1]) X
Group By X.CardName