Sql-Server
無法對銷售額欄位的值求和 - 各種條件、銷售代表 ID 和日期範圍
我想知道是否有人可以幫助我處理這個 SQL Server 2016 查詢。
我有兩個包含以下數據的表
銷售代表
這是一個表格,其中包含銷售代表所關注的地區的歷史以及他們所關注的日期範圍。
tbl銷售額
這是包含地區銷售額的表格
我正在嘗試生成一份報告,顯示給定 SalesRep 的 SalesRep 和兩個日期之間的總銷售額。
例如,如果我提供了一個 SalesRep = ‘Anne’ 並且日期範圍是 ‘1 Jun 2020’ 到 ‘30 Jun 2020’,我希望得到的結果是:
SalesRep Sum Anne 185
這是因為它應該排除在 2020 年 6 月 3 日至 2020 年 6 月 16 日之間進行的任何交易,因為該領土由戴夫照管了幾個星期,並且他在這些日期之間進行了該業務。
我在加入 TblSalesRep 時嘗試使用 SUM() 函式,但這些數字不是我所期望的。
有更緊湊的方法來編寫它,但這說明了一種方法。
首先選擇 Anne 負責該地區的地區和時期。
然後提取交易日期在 Anne 覆蓋進行銷售的區域的某個時期內的所有銷售。
然後總結銷售額。
WITH territory_periods AS ( SELECT SalesRep, TerritoryID, FromDate, ToDate FROM tblSalesRep WHERE SalesRep = 'Anne' ) ,sales AS ( SELECT p.SalesRep, s.Amount FROM tblSales s JOIN territory_periods p ON s.TerritoryID = p.TerritoryID AND s.TransactionDate BETWEEN p.FromDate AND p.ToDate ) SELECT SalesRep, Sum(Amount) FROM sales GROUP BY SalesRep ;