powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Составить запрос по условию
2 сообщений из 2, страница 1 из 1
Составить запрос по условию
    #37927974
hexes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня, возможно вопрос нубский, но не соображу как решить:

Пишу хранимку, в неё могут передать параметр @GenreName (а могут и не передать, будет NULL).
Нужно решить, подключать доп. таблицу к запросу или нет, можно написать:
Код: plsql
1.
2.
3.
4.
if(@GenreName is NULL)
SELECT * FROM seansi WHERE blaabla
else
SELECT * FROM seansi s, genre g WHERE seansi.idgenre=g.idgenre AND g.genrename=@GenreName



И всё бы ничего, но таких входных параметров от 5.
Т.е. на if-ах такое построить и поддерживать ОЧЕНЬ проблематично.
Как быть? Как красивее решить задачу?
...
Рейтинг: 0 / 0
Составить запрос по условию
    #37929849
escapist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hexes,

Если в лоб,то я б писал так:
Код: sql
1.
2.
SELECT*FROM seansi AS s
JOIN genre AS g ON s.idgenre=g.idgenre AND (@GenreName IS NULL OR g.genrename=@GenreName)


Ну и естественно,под * упоминал конкретные необходимые поля.По аналогии расширяется на сколько угодно таблиц.По-идее,сильно на производительности сказаться не должно
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Составить запрос по условию
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]