有5个选项列表值可以存储在包含NULL
我想返回值,如果它们以优先顺序出现,例如:
SELECT * FROM dbo.whatever
WHERE ColumnName = 'Value X'
(如果此值不存在,我想要求我的优先级中的下一个值(值W,值Z等)
答案 0 :(得分:1)
您可以按该优先级列表排序,只使用top 1
SELECT top 1 *
FROM dbo.whatever
order by case when ColumnName = 'Value X' then 1
when ColumnName = 'Value Y' then 2
when ColumnName = 'Value Z' then 3
else 4
end