У меня есть основной список сотрудников, для которых мне нужно выполнить запрос по нескольким таблицам. Каждый раз, когда я добавляю еще одну таблицу, результат уменьшается. Я подозреваю, что это связано с тем, что он ищет результаты во всех таблицах и отображает только в том случае, если они существуют во всех таблицах. Мне нужно показать результаты, даже если они пустые.
Employee Table
Employee Status
Employee 1 Active
Employee 2 Inactive
Employee 3 Active
FICO Records
Employee Week Score
Employee 1 7/19/20 150
Employee 2 7/19/20 150
Employee 1 7/12/20 250
Employee 2 7/12/20 350
Employee 3 7/12/20 200
Scorecard Records
Employee 1 7/19/20 Great
Employee 2 7/19/20 Great
Employee 3 7/19/20 Great
Employee 1 7/12/20 Great
Employee 2 7/12/20 Great
Employee 3 7/12/20 Great
Ожидаемый результат: в таблице перечислены ВСЕ активные сотрудники и отображаются результаты для параметра week, установленного на 19.07.20 в этом примере. Сотрудник 2 отбрасывается, поскольку он неактивен. Сотрудник 1 показывает результаты в обоих столбцах, поскольку у него есть записи в обеих таблицах. Сотрудник 3 показывает результаты только в Scorecard, так как у него не было записи FICO.
Employee Week FICO Scorecard
Employee 1 7/19/20 150 Great
Employee 3 7/19/20 Great
Это результаты, которые я получаю сейчас
Employee Week FICO Scorecard
Employee 1 7/19/20 150 Great
Вот код, который я создал с помощью инструмент создания запросов в MS Access. Я пробовал использовать левое соединение, и это не меняет результатов. Помогите пожалуйста.
PARAMETERS [Week Date] DateTime;
SELECT
[DA Master].[DA Name],
[DA Master].Status,
[DA AMZL Scorecard].[Overall Tier],
[DA Fico].Week,
[DA Fico].FICO
FROM
(
[DA Master]
INNER JOIN
[DA AMZL Scorecard]
ON [DA Master].ID = [DA AMZL Scorecard].DA
)
INNER JOIN
[DA Fico]
ON [DA Master].ID = [DA Fico].DA
WHERE
(
(([DA Master].Status) = "Active")
AND
(
([DA Fico].Week) = [Week Date]
)
)
ORDER BY
[DA Master].[DA Name];