Не нашел точного варианта использования того, чего я пытаюсь достичь в Stackoverflow, поэтому объясню это в надежде, что кто-то может помочь.
У меня есть две таблицы, одна содержит основной список действий, а другая содержит информацию о том, кто выполнил эти действия.
Таблица A - Таблица активности.Это отдельный список того, что можно сделать.
ID | Activity
---------------------------
1 | Change Oil
2 | Change Airfilter
3 | Change Brake Fluid
Таблица B - таблица журнала активности.Это отслеживает, где люди сделали одно из вышеперечисленных действий.ActivityID ссылается на идентификатор в таблице A.
ID | ActivityID | CompletedBy
---------------------------------------
1 | 1 | john@auto.com
2 | 1 | sally@auto.com
3 | 3 | john@auto.com
Я пытаюсь составить список всех видов деятельности, но только для отдельного человека.Я пробовал несколько способов для этого, но могу только получить запрос, чтобы показать, где значения существуют в обеих таблицах.
Мой предпочтительный вывод будет следующим: где в запросе я попросил показать мне полный список действий, а также показать, где Джон что-то выполнил.Если в таблице B нет записи для этого действия, чтобы отобразить пустое значение.
ID | Activity | CompletedBy
-------------------------------------------
1 | Change Oil | john@auto.com
2 | Change Airfilter |
3 | Change Brake Fluid | john@auto.com
Вот мой текущий SQL-запрос, в котором я пытался отработать этот запрос, и сейчас результаты возвращают только идентификатор1 и 3 из приведенного выше примера, где у Джона есть запись в таблице B.
Select a.ID, a.Activity, b.CompletedBy
FROM ActivityList a
LEFT OUTER JOIN ActivityLog b
ON a.ID = b.ActivityID
Where CompletedBy = 'john@auto.com'
GROUP BY a.ID, a.Activity, b.CompletedBy
Любая помощь или указатели в правильном направлении будет принята с благодарностью.