2017-03-01 3 views
0

선택 문 아래 SQL에서 Case 문을 사용하는 방법 :나를 위해 기록을 반환하지 않습니다 올바르게

선택 1 :

SELECT 
     Case When rcdr.PolicyNumber like '' + bmpd.PaymentReferenceNumber + '%' 
     Then 'Adc' else 'Exceed' end as System 
    FROM RcDetailRecords rcdr 
     join Bil_ManualPaymentDetails bmpd 
     on rcdr.PolicyNumber like '' + bmpd.PaymentReferenceNumber + '%' + '' 

출력 : Select 문 아래

System = 

나를위한 레코드를 반환합니다 :

2를 선택하십시오 :

 SELECT 
     Case When rcdr.PolicyNumber like '1234567890%' 
     Then 'Adc' else 'Exceed' end as System 
    FROM RcDetailRecords rcdr 
     join BilManualPaymentDetails bmpd 
     on rcdr.PolicyNumber like '1234567890%' 

출력 :

System = Adc 

암은 내가 처음 선택 어딘가에 틱 ''표시가 누락?

BilManualPaymentDetails 테이블 :

PaymentReferenceNumber 
123456789020161013025120 

RcDetailRecords 테이블 :

PolicyNumber 
1234567890 

답변

2

1234567890123456789020161013025120%을 싫어하지만, 123456789020161013025120 그래서 그것을 1234567890%

같다 필드가 바뀌 었습니다. 시도 :

SELECT 
     CASE WHEN bmpd.PaymentReferenceNumber LIKE '' + rcdr.PolicyNumber + '%' 
      THEN 'Adc' 
      ELSE 'Exceed' 
     END as System 
    FROM RcDetailRecords rcdr 
    JOIN Bil_ManualPaymentDetails bmpd 
     ON bmpd.PaymentReferenceNumber like '' + rcdr.PolicyNumber + '%' + '' 
+0

끝내 주셔서 감사합니다. 때로는 신선한 눈이 필요합니다. 다시 한 번 감사드립니다! – Jason

+0

필자도 기꺼이 앞쪽에 빈 문자열을 연결하지 않아도됩니다. –

관련 문제