I want sum of price in my table depended by ‘CorpCode’ from other table where ‘InvoiceDate’ between last week from Max(InvoiceDate)LastInvoiceDate
My table design is:
T1: CorpCode AuthorNo C1 A23 C1 A24 C1 A25 C1 A27 C2 A30 C2 A43 C2 A55 C3 A65 C3 A66 C3 A78 T2: AuthorNo Price InvoiceDate A23 145 2019-08-01 A24 132 2019-08-02 A25 140 2019-08-10 A27 125 2019-08-14 A30 115 2019-08-19 A43 110 2019-08-21 A55 100 2019-08-25 A65 111 2019-09-23 A66 133 2019-09-12 A78 54 2019-09-10 Result: CorpCode SumPrice C1 265 C2 325 C3 111
Advertisement
Answer
You can do that in multiple ways. ie:
with t (CorpCode, Price, days) as ( select t1.CorpCode, t2.Price, datediff(d, invoiceDate, max(InvoiceDate) over (Partition by t1.CorpCode)) from t1 inner join t2 on t1.AuthorNo = t2.AuthorNo ) select CorpCode, Sum(Price) as TotPrice from t where days <= 7 group by CorpCode;