Проверьте состояние данных с несколькими строками и получите только одно выходное значение - PullRequest
0 голосов
/ 23 января 2020

Проверить состояние данных с несколькими строками и получить только одно выходное значение

Status
SUCCESSFULL
SUCCESSFULL
SUCCESSFULL
SUCCESSFULL

Затем необходимо вывести «SUCCESSFULL»

Если любая запись имеет статус «Сбой», то вывод будет «Сбой» «как показано ниже

Status
SUCCESSFULL
SUCCESSFULL
FAILED
SUCCESSFULL

Затем необходимо вывести« FAILED »

Ответы [ 3 ]

1 голос
/ 23 января 2020

Вы просто ищете это:

select min(status) from mytable;

('FAILED' предшествует 'SUCCESSFULL' в алфавите, поэтому с MIN вы получите 'FAILED', когда хотя бы одна строка равна 'FAILED' и 'SUCCESSFULL' только если все строки 'SUCCESSFULL'.)

0 голосов
/ 23 января 2020
SELECT DISTINCT Status 
   FROM Your_table
      ORDER BY status
0 голосов
/ 23 января 2020

Для этого можно использовать функции агрегирования count() и sum().

select 
    case when 
        sum(case when status = 'SUCCESSFULL' then 1 else 0 end)  = count(1) 
    then 'SUCCESSFULL' 
    else 'FAILED'
    end
from tableA
...