26.12.2009, 08:16 | #1 |
Участник
|
Обработка в отчете multi-value параметра
Создаю отчет со следующим запросом:
Код: DECLARE @SQL nvarchar(max) SET @SQL = 'SELECT new_estimatedvalue, ownerid, owningbusinessunit FROM ('+@CRM_FilteredOpportunity+') AS FO WHERE (owningbusinessunit IN ('''+@BUid+'''))' EXEC (@SQL) Видел упоминания в сети про функцию JOIN, но применить ее к запросу не получилось. |
|
26.12.2009, 11:14 | #2 |
Консультант-джедай
|
можно посмотреть на значение переменной @BUid, которое Вы подставляете (мульти значение)?
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
26.12.2009, 11:45 | #3 |
Участник
|
Параметр BUid берет данные из другого датасета, в котором используется следующий запрос:
Код: DECLARE @SQL nvarchar(max) SET @SQL = 'SELECT businessunitid, name FROM ('+@CRM_FilteredBusinessUnit+')' exec(@SQL) 73070b2-3386-de11-958d-00215ac9d22c 1236d7c5-8959-de11-9527-00215ac9d22c При попытке подставить параметр BU в исходный запрос вместо BUid у меня обрабатывается только первое значение остальные игнорируются. Последний раз редактировалось SLK; 26.12.2009 в 12:10. |
|
26.12.2009, 12:24 | #4 |
Чайный пьяница
|
Заработало. Итак скрипт запроса для Вашего случая должен біть таким:
X++: DECLARE @SQL nvarchar(max) Create Table #tmp(new_estimatedvalue datetime, ownerid uniquidentifier, owningbusinessunit uniquidentifier) SET @SQL = 'Insert Into #tmp SELECT t.new_estimatedvalue, t.ownerid, t.owningbusinessunit FROM ('+@CRM_FilteredOpportunity+') t' EXEC (@SQL) Select * From #tmp Where owningbusinessunit In ( @BUid ) Drop Table #tmp
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 26.12.2009 в 20:32. |
|
|
За это сообщение автора поблагодарили: SLK (1). |
26.12.2009, 15:33 | #5 |
Консультант-джедай
|
А почему бы Вам не использовать вложенный запрос в in? тот же самый запрос, что Вы используете в первом датасете?
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
28.12.2009, 13:47 | #6 |
Участник
|
Попробовал оба способа, оба работают. Остановился на вложенном запросе
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|