質問

私はSQLに3つのテーブルから成る単純なビューを作成しています。

を右クリックすることでデザインを選択し、オブジェクトエクスプローラのテーブルに、私は私のカスタムビューを変更しました。私は、フィールドでSORTBYのASCを追加します。

問題は、変更がビューのoutoutに反映されないということです。 ビューを保存し、[開く]を選択した後、ソートが出力に表示されていないビューます。

だから何がここに起こっていますか?

役に立ちましたか?

解決

技術的には、VIEWに並べ替え焼くことが可能であるが、それは非常に落胆しています。そのような観点から選択しながら、その代わりに、並べ替え適用されます。

Select ...
From MyView
Order By SortByCol ASC
あなたが本当に知りたいと思った場合は、

は、ビューのソートの制限を周りに取得するにはTOPコマンドを使用することができ、(しかし、再び、私は強く、この反対をお勧めします):

Select TOP 100 PERCENT * Col1, Col2....
From Table1
Order By SortByCol ASC

他のヒント

に思えます:

また、SELECTの選択リストのTOP句がない限り、

はSQL Server 2000では、ビュー定義のSELECT句の制限がありますが、SQL 2005およびSQL 2008 Aは、CREATE VIEWステートメントは、ORDER BY句を含めることはできませんステートメント。 ORDER BY句は、ビュー定義にTOP句によって返される行を決定するためにのみ使用されます。ビューが照会されたときにORDER BYは、クエリ自体に指定されていない限り、ORDER BY句は、注文した結果を保証するものではありません。

適用する必要がある修正プログラムもあります。その後、あなたは作品によって順番ことを確認してトップに100%を使用する必要があります。

HTH

の一般の、ビューをソートすることはできません。

(他の人が述べたように、それを行うためのハックがありますが、あなたは、ビジュアルクエリデザイナーを使用してではなく、SQLであなたのビュー定義を書いているので、そのハックを実装するのはおそらく難しいです。)

あなたが実際にあなたのビューを「変更」、あなただけのEMがのビューからを選択するために使用していたSELECTステートメントを変更しませんでした。ソートの設定は、ビュー定義内に保持されていません。

タブを閉じると、EMは、あなたが再びビューを開くときに、それはSQL Serverが決定したどんな順番に出てくる、そのビューのためのあなたの並べ替えの好みを覚えていません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top