Я хочу объединить эти дела дела - PullRequest
0 голосов
/ 20 сентября 2019

Я получаю несколько результатов из этих утверждений и хочу объединить их.Пожалуйста, помогите с синтаксисом и структурой

 (SELECT NVL (
              CASE WHEN (csi.hello = DT.S)
                     THEN 'Task IS ALREADY DONE'   
                     WHEN VV.Mo LIKE NULL
                     THEN  'The model is not available'  
                     WHEN (B.tsk = '7')
                     THEN 'The task status has been Cancelled' 
                     WHEN (B.tski = '14')
                     THEN  'The task has been Assigned'  
                     WHEN (B.tsko = '11001')
                     THEN 'The task has been Return Part STATUS'    
                     END, '')RMA_CRITERIA,

1 Ответ

1 голос
/ 20 сентября 2019

Использовать конкатенацию строк:

 SELECT (CASE WHEN csi.hello = DT.S THEN 'Task IS ALREADY DONE;' ELSE '' END ||  
         CASE WHEN VV.Mo IS NULL THEN 'The model is not available;' ELSE '' END ||  
         CASE WHEN B.tsk = '7' THEN 'The task status has been Cancelled;' ELSE '' END || 
         CASE WHEN B.tski = '14' THEN  'The task has been Assigned;' ELSE '' END ||  
         CASE WHEN B.tsko = '11001' THEN 'The task has been Return Part STATUS;' ELSE '' END
        ) as RMA_CRITERIA,

Обратите внимание, что это добавляет разделитель (;), хотя вы его не указали.Также LIKE NULL всегда возвращает эквивалент false;Я полагаю, вы намереваетесь IS NULLELSE '' является избыточным в Oracle, но это проясняет намерение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...