Гость
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / MSSQL 2000 Reporting Services / 2 сообщений из 2, страница 1 из 1
07.12.2005, 11:28
    #33421556
ruslrain
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Reporting Services
Существует таблица Table1 с полем F1 int
требуется реализовать вот такой селект:
Код: plaintext
select F1 from Table1 where F1 in (@param)
когда пользователь вводит @param для примера :
Код: plaintext
 1 , 2 , 3 
SQL должен быть такого вида:
Код: plaintext
select F1 from Table1 where F1 in ( 1 , 2 , 3 )
но RS генерит такой SQL
Код: plaintext
select F1 from Table1 where F1 in ('1,2,3')

пробовал распарсить @param чтобы он имел вид ('1','2','3'), но тогда MSSQL выдает ошибку:
Код: plaintext
Syntax error converting the varchar value '1','2','3' to a column of data type int
Можно конечно полность распарсить @param и потом сконвертировать в int, но хотелось бы узнать есть ли другое решение.
Заранее спасибо
...
Рейтинг: 0 / 0
07.12.2005, 11:45
    #33421624
FantomGood
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSSQL 2000 Reporting Services
нужно смотреть в сторону динамического SQL
exec('select F1 from Table1 where F1 in ('+ @param+')')
или можно сделать функцию которая парсит вашу строку и возращает данные в виде таблицы, тогда в in нужно будет указать Вашу функцию
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / MSSQL 2000 Reporting Services / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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