x
SELECT T0.[U_BRANCH] 'branch',sum(T1.[U_NETAMT]) 'Net amount',sum((CASE when T1.[U_HRSWKD]>0 then 1 else 0 end)) 'mandays'
FROM [dbo].[@MLD_OLBRATTD] T0
INNER JOIN [dbo].[@MLD_LABATTD1] T1 ON T1.[DocEntry] = T0.[DocEntry]
Where T0.[U_STARTDT]>=@FromDate and T0.[U_STARTDT]<=@ToDate and T1.[U_HRSWKD]>0
group by T0.U_BRANCH
branch Net amount mandays
TOONG 1483651.896266 5345
MRF 2480092.992900 11952
TEJO 1311481.288500 4834
Want month wise query here condition are
Declare @FromDate As DateTime
Declare @ToDate As DateTime
Set @FromDate='20190401'--{?FromDate}
Set @ToDate ='20190730'--{?ToDate}
Advertisement
Answer
try this.
DATEPART
function will return the specific part in a date column. Using MONTH
, you can get the desired output.
SELECT T0.[U_BRANCH] 'branch'
,DATEPART(MONTH,T0.[U_STARTDT]) [Month]
,sum(T1.[U_NETAMT]) 'Net amount'
,sum((CASE when T1.[U_HRSWKD]>0 then 1 else 0 end)) 'mandays'
FROM [dbo].[@MLD_OLBRATTD] T0
INNER JOIN [dbo].[@MLD_LABATTD1] T1 ON T1.[DocEntry] = T0.[DocEntry]
Where T0.[U_STARTDT]>=@FromDate and T0.[U_STARTDT]<=@ToDate and T1.[U_HRSWKD]>0
group by T0.U_BRANCH,DATEPART(MONTH,T0.[U_STARTDT])