Я потратил несколько часов, пытаясь решить эту проблему, и пришел к большому разочарованию, но безрезультатно. Я новичок в этом, но хочу учиться. Я использую SQLiteStudio
Данные:
- У меня есть таблица с данными об аренде за годы.
- Существует запись в неделю для клиентов, у которых есть аренда (некоторые аренды начинались и / или заканчивались в течение года, поэтому могут появляться менее 52 раз.
- Каждые недели данные импортируются из разных отчетов в эту таблицу и различаются по имени отчета (поле: ReportName).
- Клиенты могут изменить статусы с CUR (текущий) на TER (прекращение действия = уведомление за 4 недели) на FOR (бывший)
- У каждого клиента есть уникальный ссылочный номер аренды (поле: 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