Hi,
I've been trying to get the pivot command to work just so. I've almost got it the way I need it but I'm getting Msg 102, Level 15, State 1, Line 14 Incorrect syntax near ')'.
This is my code:
INSERT INTO dbo.tmpProjExpendFY
SELECT ProjNo, TaskCode, [1] AS P1, [2] AS P2, [3] AS P3, [4] AS P4, [5] AS P5, AS P6,
[7] AS P7, AS P8, [9] AS P9, [10] AS P10, [11] AS P11, [12] AS P12
FROM (SELECT s.ProjNo, tblkpTask.TaskCode
FROM tblProjSched AS s CROSS JOIN
tblkpTask
WHERE (s.DeptCode = 'SWM')) AS dm LEFT OUTER JOIN
(SELECT SUM(e.ActualAmt) AS PYears, e.ProjNo, e.TaskCode
FROM tblActualExpend AS e INNER JOIN
tblBudgetConfig ON e.FiscalYear < tblBudgetConfig.CurrentBudgetYear
GROUP BY e.ProjNo, e.TaskCode) AS dp ON dm.ProjNo = dp.ProjNo AND dm.TaskCode = dp.TaskCode
ORDER BY dm.ProjNo, dm.TaskCode
)p
PIVOT
(
SUM(ActualAmt)
FOR FiscalPeriod IN
( [1], [2], [3], [4], [5], , [7],
, [9], [10], [11], [12])
)AS pvt
ORDER BY pvt.ProjNo, pvt.TaskCode;
My end result needs to include all taskcodes for each project regardless of weither it has an expense:
ProjNo TaskCode P1 P2 P3 P4 ect
64BRD PLN 10 23 null 5 ect
there should be 9 total taskcodes per project.
Thansk in advanced for any help.
use the following query..
SELECT
ProjNo
,TaskCode
,[1] AS P1
,[2] AS P2
,[3] AS P3
,[4] AS P4
,[5] AS P5
, AS P6
,[7] AS P7
, AS P8
,[9] AS P9
,[10] AS P10
,[11] AS P11
,[12] AS P12
From
(
Select
dm.ProjNo
,dm.TaskCode
,dp.FiscalPeriod
,dp.ActualAmt ActualAmt
FROM (
SELECT
s.ProjNo
,tblkpTask.TaskCode
FROM tblProjSched AS s
CROSS JOIN tblkpTask tblkpTask
) AS dm
LEFT OUTER JOIN
(
SELECT
e.ActualAmt
,e.ProjNo
,e.TaskCode
,e.FiscalPeriod
FROM
tblActualExpend AS e
) AS dp
ON dm.ProjNo = dp.ProjNo
AND dm.TaskCode = dp.TaskCode
) as Data
PIVOT (SUM(ActualAmt) FOR FiscalPeriod IN ([1], [2], [3], [4], [5], , [7],
, [9], [10], [11], [12]))AS pvt
ORDER BY
pvt.ProjNo
,pvt.TaskCode
No comments:
Post a Comment