Используемая база данных: SQL Server
У меня есть три таблицы A, B, C.
ТАБЛИЦА A:
------------------
| ID | Name |
------------------
| 1 | X |
------------------
| 2 | Y |
------------------
ТАБЛИЦА B:
----------------------
| ID | Date |
----------------------
| 1 | 2019-11-06 |
----------------------
| 2 | 2019-11-05 |
----------------------
ТАБЛИЦА C:
----------------------------------
| ID | B.ID | A.ID | Amount |
----------------------------------
| 1 | 1 | 1 | 500 |
----------------------------------
| 2 | 2 | 2 | 1000 |
----------------------------------
Результат, который я хотел бы получить, - это все записи таблицы A.Name с их количеством в таблице C.amount, где таблица B.Date = 2019-11-06,Набор результатов должен включать все записи A.name, даже если он не имеет ссылки в таблице C.
Требуемый результат:
-----------------------
| A.Name | C.Amount |
-----------------------
| X | 500 |
-----------------------
| Y | NULL |
-----------------------
Код, с которым я пытался:
SELECT A.Name,C.Amount
FROM A
LEFT OUTER JOIN C ON C.A_ID=A.ID
LEFT OUTER JOIN B ON B.ID = C.B_ID ON
WHERE B.Date='2019-11-06'
Результат, который я получил с помощью приведенного выше кода:
------------------
| Name | Amount |
------------------
| X | 500 |
------------------
В результате нет Y, потому что в эту конкретную дату нет записи для Y. Я просто хочу показать Y и сумму как ноль или ноль.
SQL Fiddle с моим запросом
Пожалуйста, помогите мне с этим.