我有一个非常简单的查询,如下所示:
SELECT Name FROM Users WHERE Age < 20;
我想实现这样的功能:
如何用一个非常简单的查询实现它?感谢您的帮助!
答案 0 :(得分:0)
您可以使用SELECT
部分中的CASE
之类的内容来修改您的returned result
答案 1 :(得分:0)
以下查询可以帮助您解决3个条件。 为了清楚起见,我没有输入空字符串,而是输入了“ None”。您可以将其编辑为空字符串。
select case when count(*)=0 then 'None'
when count(name)=1 then max(name)
when count(name)>1 then max('Multiple')
end as name
from users1
where age <20
查看可满足所有3个测试用例的完整演示
演示 https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=929d6ffca27ab5c4c05eeabdb6dd8b12
答案 2 :(得分:0)
我不确定“一个值”是指什么。那是一行吗?还是一个名字(可能在多行上)?
我倾向于这样表述:
SELECT (CASE WHEN COUNT(*) = 0 THEN 'None'
WHEN MIN(Name) = MAX(Name) THEN MIN(Name)
ELSE 'Multiple'
END) as one_row_value
FROM Users
WHERE Age < 20;