0

有 5 个选项列表值可以存储在一个列中,包括NULL

如果它们以优先顺序出现,我想返回值,例如:

SELECT * FROM dbo.whatever    
WHERE ColumnName = 'Value X'

(如果此值不存在,我想要求我的优先级中的下一个值(值 W、值 Z 等)

4

1 回答 1

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
于 2013-09-17T06:55:12.997 回答