2010-08-19 4 views
1

나는 (나는 필요와 키워드와 같은) 문장을 실행해야한다.SQL 서버 사례 명세서 명확화

select 
      'Is Allowed'= case A.Column 
        when 
        A.Column='XXXX' and Isnull(A.AnotherColumn,'')<>'' then 'Yes' 
        else 
        'No' end from TableName 

구문 오류가 발생하여 조건에 영향을주지 않고 다시 작성합니다.

답변

0
SELECT 
    CASE A.Column 
     WHEN 'Is Allowed THEN 'First' 
     WHEN 2 THEN 'Second' 
     WHEN 3 THEN 'Third' 
     ELSE 'Other' 
    END 

CASE (질문입니다)를 작성하는 일반적인 방법입니다. 그러나 쿼리/로직이 다소 복잡한 것처럼 보입니다. 더 자세한 대답/쿼리가 가능하지만 더 많은 명령문/중첩 된 CASE를 사용합니다.

6

시도 :

select case when A.Column='XXXX' and Isnull(A.AnotherColumn,'')<>'' then 'Yes' 
     else 'No' end as 'Is Allowed' 
from TableName 
+1

좋은 grokking에 대해 자세히 살펴보고, 나는 생각한다. +1 – Tobiasopdenbrouw

0

CASE (Transact-SQL)

SELECT CASE 
      WHEN some boolean expression 
       THEN value 
      ELSE default value 
     END 

또는

SELECT CASE value to check 
      WHEN vlue to check agains 
       THEN value 
      ELSE default value 
     END