Я пытаюсь, чтобы данные моего запроса включали все даты из моего tbl_actual, хотя в моем tbl_planned нет данных по определенным датам.
В SQL это можетбыть выражено как tbl_actual LEFT JOIN tbl_planned
, за которым следуют условия присоединения (дата и лицо).Записи в tbl_actual
без совпадений в tbl_planned
будут по-прежнему включаться в выходные данные, причем все столбцы, относящиеся к tbl_planned
, показывают NULL
.
Я полагаю, что ваш запрос можно просто упростить следующим образом:
SELECT
-- cal.Day,
planned.LocalDay,
actual.LocDay,
actual.Over30Minutes,
actual.Over30MinutesHours,
actual.NumOfUses,
actual.TotalDurationTaken,
planned.Campaign,
planned.Supervisor,
planned.DurationScheduled,
actual.PersonID,
planned.PersonID
FROM
bl_actual AS actual
LEFT JOIN tbl_planned
ON planned.PersonID = actual.PersonID
AND actual.LocDay = planned.LocalDay
PS: что такое псевдоним таблицы cal
, как показано в cal.Day
, первом столбце вашего набора результатов?Этот псевдоним не объявлен нигде в запросе, я закомментировал столбец.