2014-10-28 4 views
0

사례와 결과를 비교하여 일부 데이터를 정리하려고 합치려고합니다.사례 결과를 다른 사례 SQL 명령과 비교 - Crystal Reports

SELECT 
CASE 
    WHEN ISNUMERIC(SUBSTRING(LTRIM(RTRIM(X)), 1,1)) = 0 
    THEN UPPER(LTRIM(RTRIM(SUBSTRING(X, CHARINDEX(' ', X)+1, LEN(X) - CHARINDEX(' ', X))))) 
    ELSE X 
END XCU 
CASE 
    WHEN XCU LIKE '%A%' OR '%B%' THEN 'Y' 
    ELSE X 
    END 
FROM XTable 

첫 번째 경우는 완벽한 yeilds XCU 작동을 위해, 나는 다음

답변

0

간단한 방법은 내가 사용

SELECT CASE 
     WHEN xcu LIKE '%A%' 
       OR xcu like '%B%' THEN 'Y' 
     ELSE 'x' 
     END, 
     xcu 
FROM (SELECT CASE 
       WHEN Isnumeric(Substring(Ltrim(Rtrim(x)), 1, 1)) = 0 THEN Upper( 
       Ltrim(Rtrim(Substring(x, Charindex(' ', x) + 1, Len(x) - 
          Charindex(' ', x) 
          )))) 
       ELSE 'x' 
       END XCU 
     FROM xtable) A 
+0

중첩 된 SQL 쿼리를 사용하는 것입니다 일반적인 Y를 키워드를 찾아 결과에 XCU을 비교하려면 정확한 코드는 얻을 수 있지만 얻을 수 있습니다 - 조건이 'Then'근처에서 예상되는 컨텍스트에서 지정된 부울 유형의 표현 –

+0

@epv - 지금 확인 –

+0

대단히 효과적입니다. A가 맨 끝에 무엇인지 설명 할 수 있습니까? ? 나는 SQL에서 newb입니다. @pradeep 감사합니다. –