Попытка получить тот же результат, используя предложение where вместо левого соединения
Схема TableA:
id
name
created_by
Схема TableB:
id
name
updated_by
Пример таблицы A
id name created_by
1 pen a
2 paste k
Пример таблицы B
id name updated_by
1 inkpen b
1 ballpen c
Запрос с слева объединение
select tablea.id, tableb.id, tablea.name, tableb.name
from tablea
left join tableb on tableb.id = tablea.id and tableb.updated_by = 'a'
Результат
tablea.id tableb.id tablea.name tableb.name
1 NULL pen NULL
Запрос с использованием , где Предложение:
select tablea.id, tableb.id, tablea.name, tableb.name
from tablea left join tableb
ON tableb.id = tablea.id WHERE tableb.updated_by = 'a'
Результат
tablea.id tableb.id tablea.name tableb.name
NULL NULL NULL NULL
Мы использовали функцию до того, как передали user_id. Функция, в свою очередь, вернула таблицу и использовала user_id в левом соединении. Поскольку функция не использовала индексы, мы решили вместо этого использовать представления. Однако в представлениях мы не можем передавать переменные. Следовательно, мы не смогли использовать tableb.updated_by в левом соединении, поэтому попытались выполнить тот же запрос в предложении where
.
Как мы можем написать запрос так, чтобы я мог получить тот же результат, что и в оставил присоединиться через пункт где?