Как я могу использовать значение, возвращенное из одного набора данных, для построения запроса для другого набора данных в SSRS?

Я использую SQL Server Report Builder 3.0 для создания отчета.

У меня есть две таблицы, и я хочу найти значение в одной таблице, а затем использовать его для выбора значения из второй таблицы. Пример следующий:

Таблица: Персонал

| идентификатор_персонала | Фамилия |

| -------- | ------- |

| 1 | Смит |

| 2 | Джонс |

Таблица: Курсы

| Учитель | Курс |

| -------- | ------- |

| 1 | французский |

| 2 | немецкий |

Набор данных 1: ВЫБЕРИТЕ Staff_id ИЗ персонала, ГДЕ фамилия ='Смит'

Набор данных 2: ВЫБЕРИТЕ курс ИЗ курсов, ГДЕ преподаватель = {staff_id из набора данных 1}

Но я не могу понять, как передать значение из Dataset1 в запрос в Dataset2.

Я попытался получить значение в переменной с именем Teacher_id, используя поиск по другому набору данных, а затем запрос для Dataset2 становится

ВЫБЕРИТЕ курс ИЗ курсов ГДЕ преподаватель = @teacher_id

но я получаю ошибку

Выражение, используемое для вычисляемого поля «teacher_id», включает агрегатную функцию, RowNumber, RunningValue, Назад или функцию поиска. Функции Aggregate, RowNumber, RunningValue, previous и поиска нельзя использовать в выражениях вычисляемых полей.

Можно ли сделать то, что мне нужно?

Большое спасибо

Изменить: извинения. Кажется, я не могу правильно отформатировать таблицы, но они всего лишь 2 столбца на 2 строки, поэтому их легко понять.

0 ответов

Другие вопросы по тегам