【发布时间】:2021-09-29 22:12:50
【问题描述】:
我有一个完美运行的 SQL 语句:
SELECT
DailyRequest.*
FROM
DailyRequest
RIGHT OUTER JOIN
Facilities ON FacilityID = Facilities.ID
这显示了Facilities 中的所有记录,正如预期的那样。但是,我只需要显示指定日期的记录,但仍然是所有来自设施的记录。我以为下面的 SQL 会起作用,但它不起作用。
此 SQL 仅显示来自 DailyRequest 的记录:
SELECT
DailyRequest.*
FROM
DailyRequest
RIGHT OUTER JOIN
Facilities ON FacilityID = Facilities.ID
WHERE
RequestDate = '7/21/2021'
日期似乎引入了问题,但我不确定我做错了什么。我想显示连接表中的所有记录,即使它们在 DailyRequest 中不存在。
【问题讨论】:
-
切换表格的顺序。使用
LEFT JOIN。并将条件移至ON子句。 -
谢谢,戈登。你能粘贴你推荐的代码吗?
-
。 .您所写的查询实际上没有意义。我不明白你为什么要返回完全是
NULL的行,但没有匹配项。 -
我需要这些行中的一些列(大多数列数据都是空白的,这很好)。出于某种奇怪的原因,有人给哈尼投了反对票,但他的解决方案非常有效。感谢您的评论。
标签: sql join left-join outer-join right-join