2013-02-06 14 views
5

私はSQLステートメントに問題があります。 私はSELECTステートメントを使用し、その後でCASEを使用します。TパラメータのプライマリとセカンダリのSQLステートメントステートメント

SELECT ..... 
ORDER BY 
CASE WHEN @sort = 'ND' THEN name END DESC, 
CASE WHEN @sort = 'NA' THEN name END, 
CASE WHEN @sort = 'AD' THEN (isAuthorized) END DESC, 
CASE WHEN @sor = 'AA' THEN (isAuthorized) END 

isAuthorizedはBIT値ですので、ここで2次注文を使用したいと思います。

私のような何か試してみました:

SELECT ..... 
ORDER BY 
CASE WHEN @sort = 'ND' THEN name END DESC, 
CASE WHEN @sort = 'NA' THEN name END, 
CASE WHEN @sort = 'AD' THEN (isAuthorized, name) END DESC, 
CASE WHEN @sort = 'AA' THEN (isAuthorized, name) END  

をしかし、それは動作しません。

は、私は任意の助けをいただければ幸い2008

SQLサーバーを使用しています。

SELECT ..... 
ORDER BY 
CASE WHEN @sort = 'ND' THEN name END DESC, 
CASE WHEN @sort = 'ND' THEN isAuthorized END 

あなたはCASE句を組み合わせることができます:あなたは@sort = ND使用このクエリはときisAuthorizedによってname、その後で最初の結果セットを注文したい場合は

答えて

7

。私はあなたがそのアイディアを得たことを願っています

+1

私はisAuthorized、次に名前で反対側を望んでいました(私は多くの列で並べ替えます)。しかし、あなたの答えは正しい方向に向いていました。なぜなら、ステートメントごとに1つ以上の注文を組み合わせる方法を知らなかったからです。大変ありがとうございました...評価され、回答としてマークされました;) – CyberHawk

+0

喜んで助けました! –

関連する問題