我正在编写 SQL 查询以获取 Report Builder 3.0 中报表的参数列表。我需要在结果中添加一个值为 'All' 的额外行,如下所示:
SELECT 'All'
UNION
SELECT DISTINCT Manager
FROM IS_Projects
这工作正常,但查询将按字母顺序排序的行返回给我,我实际上希望“全部”始终出现在顶部(即作为第一行返回)。其余的结果可以按字母顺序排序。
我已经看到了向表中添加排序顺序列的建议,但我对 SQL 很陌生,不知道如何做到这一点。
感谢您的任何建议!
最佳答案
单程;
SELECT Name FROM (
SELECT 'All' as Name
UNION
SELECT DISTINCT Manager
FROM IS_Projects
) T
ORDER BY CASE Name WHEN 'All' THEN 0 ELSE 1 END, Name
关于sql - 如何将特定行保留为查询 (T-SQL) 的第一个结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10176538/