1

15 を超えるものを選択しているクエリがあるため、結果に (15 を超える) 列が表示されます。私が選択したもののいくつかは、大きな CASE ステートメントです。SELECTもちろん、T-SQL は、ステートメントにリストする順序よりも結果を表示します。

結果列を別の順序で表示して、それらのレビューを支援する方法はありますか?

a) 選択方法を並べ替える (他の 2 つの列を並べて比較するたびに、これを行う必要があるため)

SELECT a,b,c,d,e,fつまり、変更したくない: SELECT f,d,a,b,c,e af はそれぞれ 5 ~ 10 行のコードになる可能性があるため

b) 結果の列をドラッグ アンド ドロップして隣同士に配置します。列 2 を列 9 と列 14 の隣に配置し、3 つすべてを結果テーブルの最後に配置する場合は、やることがたくさんあります。

c)列名ではなく、選択されたものの列番号を知る

私が探しているのは、次のようなものです。

Select
    vi.Name
   ,vi.Height
   ,vi.Power
   ,case when tt.losses < 3
         then 'Y'
         else 'N'
    end as MasteryKen
   ,tt.blahnum
   ,vi.blahtext
   ,vi.blahdate
   ,vi.blahcalc
   ,tt.blahflag
   ,vi.blahflag
   ,vi.blahcompare

From SenshiVitalInfo vi 
Join TatakauTable tt 
  on vi.namecd=tt.namecd

OrderOutputResults by tt.blahflag, vi.blahflag, *

T-SQL (SQL Server 2008) に最後の行を実行する機能はありますか?

4

3 に答える 3

5

TSQL には、SELECT リストの順序を編集する以外に、列を「移動」する機能はありません。これが最善の方法です。

SELECT
    d.Name
   ,d.Height
   ,d.Power
   ,d.MasteryKen   --<<can now move around single lines
   ,d.blahnum
   ,d.blahtext
   ,d.blahdate
   ,d.blahcalc
   ,d.blahflag
   ,d.blahflag
   ,d.blahcompare
FROM (Select
          vi.Name
         ,vi.Height
         ,vi.Power
         ,case when tt.losses < 3
               then 'Y'
               else 'N'
          end as MasteryKen
         ,tt.blahnum
         ,vi.blahtext
         ,vi.blahdate
         ,vi.blahcalc
         ,tt.blahflag
         ,vi.blahflag
         ,vi.blahcompare

      From SenshiVitalInfo vi 
      Join TatakauTable tt 
        on vi.namecd=tt.namecd
     ) d
--ORDER BY ....

既存のクエリを派生テーブル内にラップして、単一行の列名を必要に応じて移動できます。ORDER BY が派生テーブルから移動されていることを確認してください。

SSMS を使用している場合は、結果セットを「グリッドへの結果」モードで表示し、列見出しをドラッグ アンド ドロップして列をスライドさせるだけです。

于 2012-05-18T18:29:26.750 に答える
1

この機能は、どの SQL バリアントにも含まれていないと思います。

SQL IDE を使用して結果セットを表示している場合は、必要な列を一緒にドラッグできる可能性があります。以前は SSMS でこれを行っていました。

そうでなければ、阿部の答えはあなたができるすべてです。

于 2012-05-18T18:21:15.660 に答える
1

いいえ、これは存在しません。

ケースステートメントを移動したくない場合は、選択したビューにクエリを配置すると、選択リストが簡素化されますが、それは私にとっては無駄な作業のようです。

于 2012-05-18T18:16:36.040 に答える