使用的数据库: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和金额显示为零或零。
请帮助我。