尝试在Oracle DB中创建仅返回一个值的查询。但是,如果查询返回的行多于一行,则返回值“ multiple”。样本数据
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行或更多行。我想要的是,如果只有一个结果,则返回名称;如果有多个结果,则返回单词“ multiple”。
我希望结果只返回一行:
Name
Multiple
如果我搜索“严峻”
Name
Lucy
答案 0 :(得分:0)
除了@oldProgrammer建议的DISTINCT外,您还可以这样做
select...
fetch first 1 row only