我有一个简单的查询,我想在列中搜索一个值,如果没有找到匹配,那么我想丢弃where条件并从该列中选择任何随机值。
我尝试使用OR
条件,使用大小写实现此目的,但无济于事
select top 10 *
from tblRFCWorkload
where (f1 ='mbb' or f1 = f1)
在上面的查询中,我希望结果表的所有行都包含' mbb',如果' mbb'找不到然后给出任何值而不是mbb。但相反,它只返回两行mbb,即使有10个匹配的行
select top 10 *
from tblRFCWorkload
where 1 = case when f1 = 'mbb' then 1 else 1 end
此查询也返回与第一个查询相同的结果
如果我将其更改为
select top 10 *
from tblRFCWorkload
where 1 = case when f1 = 'mbb' then 1 else 0 end
然后它只有具有mbb值的行。
在子句之间需要类似的东西...如果没有找到结果则搜索一个范围然后搜索第二个范围...我该怎么做???