0

結果セットを最初に「NY」エントリでグループ化し、次に返される可能性のある他の状態エントリでグループ化する必要があります。

例:

OrderID   State   Type   
----------------------------           
123       CA      Checque
123       NY      ELectronic
222       JC      Checque
123       NY      Checque

OrderID主キーです

結果セットは次のようにする必要があります。

OrderID   State   Type    
----------------------------
123       NY      ELectronic
123       NY      Checque     
123       CA      Checque

を持つユーザー向けOrderID = 123

以下を行うと機能しますが、ユニオンを使用せずに同じことを行うことは可能ですか.

私はこれを大量のレコードに対して行っています。

以下を使用して動作します。

Select * from Table1 where orderid = 123 and State = 'NY'
Union
Select * from Table1 where orderid = 123 and State <> 'NY'

SQL Server 2008 の使用

ありがとう

4

2 に答える 2

2

クエリの最後でこれを試してください:

order by (case when state = 'NY' then 0 else 1 end),
         state

作品が偶然であるという事実union- まったく保証されていません。結果を並べ替える唯一の方法order byは、クエリの最も外側のレベルで句を指定することです。

于 2013-04-04T19:49:14.037 に答える