Использование случаев на PS Query - PullRequest
1 голос
/ 16 мая 2019

Мне нужна логика в моем запросе, где, когда подсказке 2 (: 2) предоставлено значение или оно не пустое, поле STRM автоматически будет равно полю FIRST_TERM_VALID, в противном случае if :2 будет черным, тогда STRM поле равно любому.

Это часть кода:

AND A.STRM LIKE ( 
CASE 
WHEN  :2 <> ' ' 
THEN G.FIRST_TERM_VALID 
ELSE '%' 
END
)

Проблема с этой частью моего запроса, я больше не могу получить результаты.

Ответы [ 3 ]

2 голосов
/ 16 мая 2019

Ваша логика может быть намного проще:

Либо :2 равно нулю, либо проверьте, если A.STRM = G.FIRST_TERM_VALID

AND (:2 IS NULL OR A.STRM = G.FIRST_TERM_VALID)
0 голосов
/ 26 мая 2019

Создайте выражение в PS Query и используйте его в качестве критерия

AND A.STRM = CASE WHEN :2 IS NULL THEN A.STRM ELSE G.FIRST_TERM_VALID END

0 голосов
/ 16 мая 2019

Если приглашение: 2 пусто, скорее всего, оно будет нулевым.Это может быть то, что вы ищете:

and (:2 is null or a.strm = g.first_term_valid)

Если вы тоже хотите проверить пустое значение, попробуйте следующее:

and (:2 is null or :2 = ' ' or a.strm = g.first_term_valid)

Не стесняйтесь добавлять выражения.Шаблон должен быть виден.

...