2011-12-08 2 views
2

도와 주시겠습니까? sql : case (매개 변수 값 포함)

SELECT 
(some columns), 
SortOrder = CASE WHEN City = @inParamCity THEN 0 ELSE 1 END 
FROM 
dbo.addressBook 
ORDER BY 
SortOrder 

나는이 시도하고 있어요 :

Incorrect syntax near '=' ' – 
+1

** ** 버전 ** 및 버전의 SQL Server에 있습니까 ??? 이것은 내 SQL Server 2008 R2 버전에서 완벽하게 작동합니다 ..... –

+0

2008 R2. 어떤 사람들은 문법 오류 (@Adam Wenger 참조)를 보았다고 말하면서 어떤 사람은 말을 못찰니다. –

+1

@EladBenda 올바르지 않습니다. 코드에서 잘 작동합니다 (SQL Server 2008R2) –

답변

2
SELECT 
(some columns) 
FROM 
dbo.addressBook 
ORDER BY 
CASE 
    WHEN City = @inParamCity THEN 0 
    ELSE 1 
END 
0

는 이렇게해야하지?

SELECT (some columns), 
CASE City WHEN @inParamCity THEN 0 ELSE 1 END As SortOrder 
FROM dbo.addressBook 
ORDER BY SortOrder 
+0

작동합니다. 원래 게시와 동일합니다. 기능적 차이 없음 –