块引用
我正在从Access 2010中的2个单独的表中加入日期字段。在“加入属性”中,我将包括左侧表中的所有记录,以及仅包含右表中的记录的记录。由于某种原因,它将它视为常规连接,只显示与两个表匹配的记录。示例:左表在2015年5月 - 5月1日 - 5月31日期间每天有31条记录。右表只有19条记录,其中包含5月份的日期以及我希望在匹配时看到的其他字段。当我运行查询时,它只返回19条记录,而不是我期望的31条记录。我已经确认两个表都是针对日期格式化的,甚至尝试使用“Clng”更改数据类型以确认记录匹配。我正在使用查询的“设计”视图 - 我对Sql或Vba一点都不好。我搜索过的所有网站都使用SQL来引用这个问题..
下面的SQL适用于那些可以使用它的人:
SELECT
[Raven Download 10 table].Region
, [Raven Download 10 table].Market
, [Raven Download 10 table].Location
, [Date table].dDate
, [Raven Download 10 table].SessEndDate
, [Raven Download 10 table].MaxOfDwnldStat
FROM
[Raven Download 10 table]
RIGHT JOIN
[Date table]
ON
[Raven Download 10 table].SessEndDate = [Date table].dDate
WHERE
((([Raven Download 10 table].Location)="hay river"));
答案 0 :(得分:0)
您无法在"外部联接"上指定条件。以你的方式表。然后你基本上强迫它再次进入内连接。而是试试这个。
SELECT
RavenHay.Region
, RavenHay.Market
, RavenHay.Location
, [Date table].dDate
, RavenHay.SessEndDate
, RavenHay.MaxOfDwnldStat
FROM
[Date table]
LEFT JOIN
(
select
[Raven Download 10 table].Region
, [Raven Download 10 table].Market
, [Raven Download 10 table].Location
, [Raven Download 10 table].SessEndDate
, [Raven Download 10 table].MaxOfDwnldStat
from
[Raven Download 10 table]
where
[Raven Download 10 table].Location="hay river"
) AS RavenHay
ON
[Date table].dDate = RavenHay.SessEndDate
更新:
如果您不习惯使用SQL,则使用[Raven Download 10 table]及其相关查询创建一个Access Query,即受hayriver限制,然后针对该查询进行右连接。