Случай использования в другом случае Когда с SQL - PullRequest
0 голосов
/ 04 апреля 2011

Это часть Select части моего SQL.

(CASE WHEN GECIKME_CV(:TAR,B.HESAP_NO, 90, 9999, B.DOVIZ_KOD) AND  > 0 THEN 100 ELSE 0 END) AS PROV,

 (CASE WHEN B.HESAP_NO IN (SELECT HESAP_NO FROM S_TAKIP_MUSTERI) THEN 'E' ELSE 'H' END) AS CAT5,

Что я хочу добавить SQL, в столбец PROV, если CAT5 = 'E', то Prov = 0

Как мне изменить это SQL?

РЕДАКТИРОВАТЬ : Я так думаю

(CASE WHEN GECIKME_CV(:TAR,B.HESAP_NO, 90, 9999, B.DOVIZ_KOD) AND  > 0  THEN 100 WHEN B.HESAP_NO IN (SELECT HESAP_NO FROM S_TAKIP_MUSTERI)='E' THEN 100 ELSE 0 END) AS PROV

но это не сработало.

EDIT2 : почему это не работает ??

(CASE WHEN GECIKME_CV(:TAR,B.HESAP_NO, 90, 9999, B.DOVIZ_KOD) > 0 THEN 100 WHEN  B.HESAP_NO IN (SELECT HESAP_NO FROM S_TAKIP_MUSTERI) THEN 100 ELSE 0 END) AS PROV

1 Ответ

1 голос
/ 04 апреля 2011

Вы можете использовать свой запрос в качестве подзапроса:

SELECT
(CASE WHEN  CAT5 = 'E' THEN 0 ELSE PROV END) PROV,
CAT5
FROM ( YOUR_QUERY ) anAlias

Например:

SELECT
(CASE WHEN  CAT5 = 'E' THEN 0 ELSE PROV END) PROV,
CAT5
FROM ( 
-- this is your query
SELECT 'E' CAT5, 5 PROV 
-- this is your query
 ) anAlias
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...