Предложение FROM
приводит к списку подзадач, умноженному на все клиенты, связанные с назначениями подзадач.
Вы можете начать с любого стола, решать вам. Давайте сохраним этот стол для сотрудников. Затем присоединитесь к следующей таблице. Таблица, относящаяся к сотрудникам, является таблицей задач. Возьмите это и присоедините к нему на сотрудника ID. Следующая таблица для присоединения может быть либо таблицей подзадач, либо таблицей назначений. Выберите тот, который И так далее, всегда добавляйте следующую таблицу к тому, что у вас уже есть.
from qryvw_employees e
join tbl_tasks t on t.assigned_to = e.id
join qryvw_subtasks st on st.taskid = t.taskid
join tbl_assignments a on a.assignment_id = t.assignment_id
join tbl_clients c on c.pan = a.pan
Если вы не выбираете столбцы из всех таблиц в предложении SELECT
или если в запросе есть некоторая агрегация (SUM
, COUNT
, ..., GROUP BY
, DISTINCT
, может быть? ), тогда вы можете захотеть объединить производные таблицы (подзапросы) или переместить таблицы в предложение WHERE
для удобства чтения и / или производительности. Не видя, что вы на самом деле выбираете, это все советы, которые я могу дать.