2016-09-08 2 views
1

내 테이블 cust_shipmentdate_awb 및 comp_shipdate_awb에는 두 개의 필드가 있습니다. Iam이 cust_shipmentdate_awb 및 comp_shipdate_awb 필드를 모두 확인해야하는 CASE 문을 작성하려고하면 null 또는 비어 있습니다. 둘 다 Null이면 결과를 '보류 중'으로 표시합니다. 하나의 필드가 비어 있지 않으면 'Completed'로 표시되고 두 필드가 모두 입력되면 'Completed'로 표시됩니다. 나는 아래의 CASE 문을 시도했다. 그러나 필드 데이터가 모두 입력되면 보류 중으로 표시됩니다. Iam은 아래 데이터에 따라 달성하려고합니다.필드가 NULL인지 확인하는 CASE 문

============================================================ 
cust_shipmentdate_awb | comp_shipdate_awb | shipment_status 
============================================================ 

    02-03-2016   |     | Completed 
         | 09-08-2016  | Completed 
    NULL    | NULL    | Pending 
    01-06-2016   | 09-08-2016  | Completed 
============================================================ 

CASE  
    When cust_shipmentdate_awb Is Null Or comp_shipdate_awb = '' Then 'Pending' 
    Else 'Completed' End AS shipment_status 
+0

당신은 대신 열의 데이터 작성으로 문을 추가 할 수 처형 됐어? – rbr94

+0

왜 SQL로 그 작업을 원하십니까? 단순히 PHP를 사용하지 않는 것이 어떻습니까? –

+0

다른 누군가가 작성한 코드를 편집하려고합니다. 그냥 몇 가지 오류를 개편. 그래서 나는 많은 것을 바꾸고 싶지 않습니다. –

답변

1

그냥 AND 연산자를 사용하여 모두 필드를 확인하려고 ('') 널 (null)와 빈 :이 경우

CASE  
    When  (cust_shipmentdate_awb Is Null OR cust_shipmentdate_awb = '') 
      AND (comp_shipdate_awb Is Null OR comp_shipdate_awb = '') Then 'Pending' 
    Else 'Completed' End AS shipment_status 
+0

완벽. 그 일. 정말 고맙습니다 –