2012-05-03 9 views
0

NEWID()をどのように扱うかを理解しようとしています(結果をランダムな順序で返すことができます)ので、CASE文でORDER BY句を使用します。ソートランダムに、またはのいずれかによって、それを持っていることによって、このORDERを構築する方法はありCID文でNEWIDを使用してSQL Orderを作成する

:「UNIQUEIDENTIFIER int型と互換性のないオペランドのタイプの衝突は、」それは投げるよう

ORDER BY CASE WHEN @RankingMethod = 1 THEN intFoo ELSE NEWID() END DESC 

は明らかにこれは、動作しません。指定列?必要な場合は、

ORDER BY CASE WHEN @RankingMethod = 1 THEN intFoo ELSE -1 END DESC, newid() 

を行うことができ

答えて

4

、代わりに-1

+0

パーフェクト、感謝の別の "マジック値" を選択してください! – Matt

関連する問題