Для меня Lookup не выглядит как эквивалент внутреннего соединения, но эквивалент
select
CustomerName = (select
Customer.Name
from
Customers
where
Orders.CustomerId = Customer.Id),
Orders.OrderDate
from
Orders
объединение занимает две таблицы и совпадения строк на обеих таблиц, основанных на некоторых по-п. Тип соединения определяет, что делать с непревзойденными строками с обеих сторон.
Поиск и эквивалент SQL выше, как минимум, концептуально, через одну таблицу и пытается найти для каждой строки соответствующую строку в другой таблице. Результат больше похож на левое соединение, чем на внутреннее соединение, так как в результате остаются непревзойденные строки. Однако существуют различия, так как Lookup ожидает найти одну строку с правой стороны, а соединение расширит набор результатов до всех совпадающих строк с правой стороны. Таким образом, поиск обычно используется для поиска с большой стороны на одну сторону отношения, например, от Приказов к Клиентам выше. Кроме того, объединенные таблицы будут участвовать в агрегатах.
Существует LookupSet function, который будет искать несколько значений, но, в отличие от объединения, он не будет расширять набор результатов, а возвращает массив значений, который будет «вложен» в строку.
Итак, подытоживая, я не думаю, что поиск является эквивалентом внутреннего соединения, и в SSRS не существует эквивалентов для любого другого типа соединения.
Сказав это, вы обычно выполняете объединение в источнике данных своего отчета, считая это источником данных SQL.
Большое спасибо @ r-schreurs –