У меня есть хранимая процедура с несколькими параметрами. Я хотел бы написать свой запрос так, чтобы он соединялся с определенными таблицами, но только если конкретный параметр имеет значение. Возьмем следующий пример: у меня есть таблица Person. Существует также таблица адресов, в которой содержатся адреса лиц и таблица групп, в которых содержатся группы лиц. Оба являются отношениями друг к другу с таблицей Person. Моя хранимая процедура имеет параметр @AddressID и параметр @GroupID.
Запрос всегда просто возвращает поля из таблицы Person. Если ни один из параметров не имеет значения, запрос должен возвращать все записи из таблицы Person. Если задан параметр @AddressID, он должен возвращать только записи, имеющие соответствующую запись в таблице Address, и игнорировать таблицу Groups. Если задан параметр @GroupID, он должен возвращать только записи с соответствующей записью в таблице "Группы" и игнорировать таблицу "Адреса". Если оба параметра поставлены, то они должны показывать только записи, имеющие соответствующую запись в обеих таблицах. Есть смысл?
Есть ли простой способ сделать это, что мне не хватает?
Спасибо, Corey