10

レポートビルダー3.0でレポートのパラメーターのリストを取得するSQLクエリを作成しています。次のような結果に、値が「All」の行を追加する必要がありました。

SELECT 'All'
UNION
SELECT DISTINCT    Manager
FROM               IS_Projects

これは正常に機能しますが、クエリはアルファベット順に並べ替えられた行を返します。実際には、「すべて」を常に一番上に表示します(つまり、最初の行として戻ってきます)。残りの結果はアルファベット順に並べ替えることができます。

テーブルに並べ替え順序の列を追加するための提案を見てきましたが、SQLはかなり新しいので、これを行う方法がわかりません。

提案をありがとう!

4

2 に答える 2

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
于 2012-04-16T15:01:54.300 に答える
3

これは 1 つの方法です。

SELECT Manager
FROM (SELECT 'All' Manager, 1 Order
      UNION ALL
      SELECT DISTINCT Manager, 2 Order
      FROM IS_Projects) A
ORDER BY Order, Manager
于 2012-04-16T14:59:59.567 に答える