2011-02-03 16 views
-1

「注文」「&」を同時に使用すると問題が発生しました。例えば、私は次のようしている:SQL Distinct/Order Byエラー

DECLARE @fieldSort varchar(100) = 'ref' 

SELECT DISTINCT EXT_Design_Standard_ID 
FROM EXT_Design_Standard_Change_Log 
ORDER BY CASE 
    WHEN @fieldSort ='REF' THEN 
      EXT_Design_Standard_ID 
    END 

を私はエラーを取得する:SELECT DISTINCTが指定されている場合の項目BY

ORDERは、選択リストに表示されなければなりません。

誰もがこれを整理する方法を知っていますか?

+0

<30%の受け入れを使用する]を選択してください... –

答えて

0

外でBY副選択とORDERでDISTINCTが

SELECT * from (SELECT distinct...) order by ... 
0
DECLARE @fieldSort varchar(100) = 'ref'; 

with cte As 
(
SELECT distinct  EXT_Design_Standard_ID 
from EXT_Design_Standard_Change_Log 
) 
SELECT * 
FROM cte 
ORDER BY 
    CASE WHEN @fieldSort ='REF' 
    THEN EXT_Design_Standard_ID END 

または〜10個の質問のためのGROUP BY

SELECT EXT_Design_Standard_ID 
FROM EXT_Design_Standard_Change_Log 
GROUP BY EXT_Design_Standard_ID 
ORDER BY 
    CASE WHEN @fieldSort ='REF' 
    THEN EXT_Design_Standard_ID END