У меня есть 2 таблицы «Банк и заявитель», как при запросе показать все банки и подсчитать, сколько заявителей используют этот банк
Банк :
| id | Bank_desc
|----|---------
| 1 | Ambank
| 2 | Maybank
| 3 | RHB BANK
| 4 | OSBC
[Заявитель] [2] :
| id | Name | Bank|STEP|
|----|------|----|----|
| 1 | JACK | 3 | W1 |
| 2 | ANDY | 1 | W4 |
| 3 | VOID | 1 | W1 |
| 4 | RAY | 1 | W5 |
Я хочу показать весь список банков с общим количеством заявителей, но только там, где заявитель находится на этапе W1 или W4, [Результаты] [2] :
| id | Bank |Total|
|----|----------|----|
| 1 | Ambank | 2 |
| 2 | Maybank | 0 |
| 3 | RHB BANK | 1 |
| 4 | OSBC | 0 |
Я пробовал это sql
SELECT
b.id,
b.Bank, COUNT(a.Bank) AS Total FROM Bank b LEFT JOIN Applicant a ON b.id = a.Bank WHERE a.step ='W1' or a.step='W4 GROUP BY b.id, b.Bank;
, но результат показывает только банк, который имеет значение, а не весь банк
[Результаты] [2] :
| id | Bank |Total|
|----|----------|----|
| 1 | Ambank | 2 |
| 2 | RHB BANK | 1 |
, если я удаляю ГДЕ a.step = 'W1' или a.step = 'W4
он покажет весь список банков, но также покажет все шаги
Любая помощь будет признательна, спасибо заранее!
DEMO SQL