2017-01-24 14 views
0

Cognos BI версия: 10.2.2 с использованием студии отчетов
У меня есть отчет с одним приглашением p1 и его SQL-запросом.
Prompt UI: p1 является DropDownList (используйте значение, отображаемое значение)
1-All, 2-значение2, 3-value3, 4-value3добавление условного запроса на запрос Cognos 10 sql

Я пытаюсь добавить условие на основе оперативного синтаксиса SQL-запросов ..

select col1, col2, col3, col4 from table1 
where col4 is not null 
case when #Prompt('p1')# = 1 then ' and 1=1' 
    when #Prompt('p1')# = 2 then ' and col1 is null and col2 is not null' 
    when #Prompt('p1')# = 3 then ' and col1 is not null and col2 is null' 
    when #Prompt('p1')# = 4 then ' and col1 is null and col2 is null' 
end 

Я попытался использовать много синтаксиса для поиска в Интернете, но не смог найти примеры в отношении моего сценария. Мне нужна помощь в достижении правильного пути написания заявления, чтобы удовлетворить свою requirement.any помощь приветствуется ..

+0

И ваш вопрос? – GurV

+0

извините. Я попытался использовать много синтаксического поиска в Интернете, но не смог найти примеры в отношении моих. Мне нужна помощь в достижении правильного способа написания заявлений для удовлетворения моих требований. – fidel

ответ

0

Обычно я предлагаю вам разместить ошибку, но это, кажется, очевидно

select col1, col2, col3, col4 from table1 
where col4 is not null 
and (
(#Prompt('p1','token','0')# = 1) OR 
(#Prompt('p1','token','0')# = 2 and col1 is null and col2 is not null) OR 
(#Prompt('p1','token','0')# = 3 and col1 is not null and col2 is null) OR 
(#Prompt('p1','token','0')# = 4 and col1 is null and col2 is null) 
) 
+0

Я сделал онлайн-поиск. Пришел к приведенному ниже синтаксису макроса, который является полезным. #prompt («имя»,»тип данных»,»по умолчанию»,»предлог»,»источник»,»posttext») #. Я попытался подключиться к своему коду и пытаюсь сделать это #Prompt ('p1', 'string', '1', 'и 1 = 1') #, и это дает мне RQP-DEF-177 error sqlprepareoptions status = 9 .. Это очень сбивает с толку синтаксис. – fidel

+0

Я изменил ответ - это должно сделать необязательные приглашения. Да, синтаксис крайне запутан! –