簡體   English   中英

如何將特定行保留為查詢的第一個結果(T-SQL)?

[英]How to keep a specific row as the first result of a query (T-SQL)?

我正在編寫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

這是一種方式:

SELECT Manager
FROM (SELECT 'All' Manager, 1 Order
      UNION ALL
      SELECT DISTINCT Manager, 2 Order
      FROM IS_Projects) A
ORDER BY Order, Manager

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM