Oracle: пытается получить значение, но если происходит несколько совпадений, возвращает «несколько» - PullRequest
0 голосов
/ 01 ноября 2018

Попытка создать запрос в БД Oracle, который возвращает только одно значение. Однако, если запрос возвращает более одной строки, верните значение «несколько». Пример данных

ID   Name    Lname
1    Joe     Reed
2    John    Reed
3    Lucy    Grim

Вот что я пытаюсь:

select case when count(*) over() > 1 then 'multiple'
            else Name
End Name 
from name where lname = 'Reed'

Прямо сейчас, если результат содержит более одного запроса на совпадение, возвращается 2 или более строк. Я хочу, чтобы он возвращал имя, если только один результат, или слово «несколько», если их больше одного.

Я хочу, чтобы результат был только с одной возвращенной строкой:

Name
Multiple

если я ищу 'Grim'

Name
Lucy

1 Ответ

0 голосов
/ 01 ноября 2018

В дополнение к DISTINCT, как предлагает @oldProgrammer, вы можете сделать

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