我正在编写SQL查询以获取Report Builder 3.0中报表的参数列表。我需要在结果中添加一个值为'All'的额外行,如下所示:
SELECT 'All'
UNION
SELECT DISTINCT Manager
FROM IS_Projects
这样可以正常工作,但查询会按字母顺序将行返回给我,其中我实际上希望“全部”始终显示在顶部(即,作为第一行返回)。其余结果可按字母顺序排序。
我已经看到了有关向表中添加排序顺序列的建议,但我对SQL很新,并且不知道如何执行此操作。
感谢您的任何建议!
答案 0 :(得分:23)
单向;
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
答案 1 :(得分:3)
这是一种方式:
SELECT Manager
FROM (SELECT 'All' Manager, 1 Order
UNION ALL
SELECT DISTINCT Manager, 2 Order
FROM IS_Projects) A
ORDER BY Order, Manager