Теперь, когда вы отредактировали свой вопрос, похоже, что вы просто пытаетесь найти UP Category_id и Template_id в DCTM_VENDOR_SCH_UNLOCK_DTLS. Следующее работает для вас?
then
(
SELECT COUNT(*) -- 1 if found, 0 otherwise
FROM DCTM_VENDOR_SCH_UNLOCK_DTLS
WHERE APPROVAL = 'Y'
AND APPROVAL_UPTO >= SYSDATE
AND CONSUMED = 0
AND sch_ID = 359
AND template_id = a.template_id
AND category_id = a.category_id
AND rownum = 1
)