powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / как делать разные запросы запросы в RS в зависимости от параметра?
7 сообщений из 7, страница 1 из 1
как делать разные запросы запросы в RS в зависимости от параметра?
    #36303149
еиекимек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RS 2005
есть параметр отчета - boolean
надо сделать так чтобы если этот параметр = true то выполнялся один запрс в Data, если False - то другой
результат выполнения обоих запросов - набор данных идентичный по полям и их типу
как такое можно сделать?
...
Рейтинг: 0 / 0
как делать разные запросы запросы в RS в зависимости от параметра?
    #36303254
--__Александр__--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и сделайте в качестве датасета хп,которая на вход принимает этот параметр.
А в хп напишите два запроса через if.
...
Рейтинг: 0 / 0
как делать разные запросы запросы в RS в зависимости от параметра?
    #36304124
Фотография Evolex_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Microsoft в CRM, отчетность которого построена на MSRS, делает это так, например:

Код: plaintext
1.
2.
3.
DECLARE @SQL nvarchar(max)
SET @SQL = 'select incident0.ticketnumber as ''ticketnumber'', incident0.title as ''title'', incident0.new_datetimeofincidentutc as ''new_datetimeofincidentutc'', incident0.new_actual_resolution_timeutc as ''new_actual_resolution_timeutc'', incident0.new_delayduration as ''new_delayduration'', incident0.prioritycodename as ''prioritycodename'', incident0.prioritycode as ''prioritycode'', incident0.incidentid as ''incidentid'', incident_customerid_account_accountid.new_kategorcustomername as ''incident_customerid_account_accountid_new_kategorcustomername'', incident_customerid_account_accountid.new_kategorcustomer as ''incident_customerid_account_accountid_new_kategorcustomer'' from (' + @CRM_FilteredIncident + ') as incident0 left outer join FilteredAccount as incident_customerid_account_accountid on (incident0.customerid  =  incident_customerid_account_accountid.accountid)'
EXEC ( @SQL )
...
Рейтинг: 0 / 0
как делать разные запросы запросы в RS в зависимости от параметра?
    #36306233
--__Александр__--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Evolex_,
У вас выполняется один и тот же запрос, только из расных таблиц.
А что делать если первый запрос вида
select * from T1 INNER JOIN T2 on T1.a = T2.b+2
А второй запрос вида
select * from T1 Left JOIN T2 on T1.a = T2.b+2 INNER JOIN T3 on T1.a = T3.c.
...
Рейтинг: 0 / 0
как делать разные запросы запросы в RS в зависимости от параметра?
    #36307088
minya13_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еиекимекRS 2005
есть параметр отчета - boolean
надо сделать так чтобы если этот параметр = true то выполнялся один запрс в Data, если False - то другой
результат выполнения обоих запросов - набор данных идентичный по полям и их типу
как такое можно сделать?
Создать 2 датасета...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
в первом допустим будет:

if @Parametr= 0 
begin
select ..
from ...
end

ну и второй датасет:

if @Parametr= 1 
begin
select....
from...
end

получатся две таблы с одинаковыми полями..и сделай видимость таблиц в зависимости от этого параметра @Parametr
...
Рейтинг: 0 / 0
как делать разные запросы запросы в RS в зависимости от параметра?
    #36307265
Bigheadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСоздать 2 датасета...Оптимальнее будет создать один датасет, у которого текст запроса будет формироваться как Expression в зависимости от выбранного значения параметра.
...
Рейтинг: 0 / 0
как делать разные запросы запросы в RS в зависимости от параметра?
    #36308606
Фотография Evolex_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--__Александр__--,

Ну, видимо, так:

DECLARE @SQL nvarchar(max)
SET @SQL =
case @Flag
when 1 then 'select * from T1 INNER JOIN T2 on T1.a = T2.b+2'
wnen 2 then 'select * from T1 Left JOIN T2 on T1.a = T2.b+2 INNER JOIN T3 on T1.a = T3.c.'
else ''
end

EXEC ( @SQL )

Суть предыдущего поста была в том, чтобы показать, как в MSRS делается датасет, в котором текст запроса полностью вычисляется на этапе выполения отчета.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / как делать разные запросы запросы в RS в зависимости от параметра?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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