我花了好幾個小時試圖解決這個問題,並提出了很多挫折,沒有結果。我是這個新手但願意學習。我使用SQLiteStudio特定周的SQL子查詢狀態添加到聚合
數據:
- 我有一個值得租金數據的年的表。
- 有租戶的客戶每週有一個入場(一些租賃開始或在一年內結束,因此可能出現少於52次
- 每週的數據從不同的報告導入到此表中並且有區別該報告的名稱(現場:REPORTNAME)
- 客戶可以從CUR(當前)狀態的更改,以TER(終止= 4星期通知),以便(前)
- 每個客戶都有一個唯一的租賃參考號(場:TenancyRef )
我的查詢:
所以這個查詢工作正常/大:
SELECT TenancyRef,
PropertyType,
TenancyType,
ManagementArea,
count() AS NumberEntries,
Round(Sum(Payments), 2) AS TotalPaid,
Round(Sum(HBUCAmount), 2) AS TotalHB,
Round(Sum(DebitAmount), 2) AS DebitTotal,
Round(Round(Sum(DebitAmount), 2) - Round(Sum(HBUCAmount), 2), 2) AS mySubtraction
FROM PSEData15
WHERE PropertyType != "LOCK" AND
PropertyType != "GP"
GROUP BY TenancyRef
HAVING TotalPaid = 0 AND
DebitTotal > TotalHB
ORDER BY TenancyRef DESC
它給了我不到900名的引用,其中這些客戶已經支付£0的列表。
如果我單獨運行此查詢:
SELECT TenancyRef, Status, ClosingBal
FROM PSEData15
WHERE (ReportName = "PSE-W201552030416" OR ReportName = "PSE-F201552030416") AND
Status != "FOR" AND
PropertyType != "LOCK" AND
PropertyType != "GP" AND
ClosingBal > 0
這給我在上週當前所有的客戶和他們的期末餘額(其中3667)
目的:
本質是什麼我期待的是結束餘額和wk52狀態被添加到第一個查詢。任何幫助將不勝感激。謝謝你提前
EDIT1:
有人問我對樣本數據和期望的結果。簡化表我的樣品是:
TenancyRef | Status | Payments | Closing Bal | ReportName
1 | CUR | 0.00 | 10.00 | 2015-Wk49
1 | CUR | 0.00 | 20.00 | 2015-Wk50
1 | CUR | 0.00 | 30.00 | 2015-Wk51
1 | CUR | 0.00 | 40.00 | 2015-Wk52
2 | CUR | 10.00 | 20.00 | 2015-Wk49
2 | CUR | 10.00 | 20.00 | 2015-Wk50
2 | TER | 10.00 | 20.00 | 2015-Wk51
2 | FOR | 10.00 | 20.00 | 2015-Wk52
3 | CUR | 10.00 | 20.00 | 2015-Wk49
3 | TER | 10.00 | 20.00 | 2015-Wk50
3 | FOR | 10.00 | 20.00 | 2015-Wk51
所需的結果:
TenancyRef | Count | TotalPaid | Wk52_ClosingBal | Wk52_status
1 | 4 | 0.00 | 40.00 | CUR
2 | 4 | 40.00 | 20.00 | FOR
3 | 3 | 30.00 | 20.00 | FOR
顯示一些示例性數據和期望的結果。 –
謝謝CL。我已經做了你希望的問題,現在讓我的問題更清楚了! – Mark
每個人都有Wk52報告狀態嗎?在你的例子中,租戶#3沒有。 –