2017-11-28 12 views
0

ここで私はacctypeに基づいていくつかのdoctypeを持っています。以下のようなSQL。私は差別化したいどのようにSELECTケースステートメント

CASE docType 
    WHEN 'I' THEN 'INVOICE' 
    WHEN 'M' THEN 'INVOICE' 
    WHEN 'D' THEN 'DEBIT NOTE' 
    WHEN 'C' THEN 'CREDIT NOTE' 
    WHEN 'P' THEN 'SUPPLIER INVOICE' 
    WHEN 'N' THEN 'SUPPLIER CREDIT NOTE' 
    ELSE '' 
END as docType 

if doctype = I,M,D,C = Customer, else = supplier

私はこの

SELECT 
    CASE 
     WHEN (docType = 'I' OR docType = 'M' OR docType = 'D' OR docType = 'C') 
      THEN 'CUSTOMER' 
      ELSE 'SUPPLIER' 
    END as accType 
FROM 
    AccountDoc 

のように実行しようとしましたが、結果はあなたがそのように照会することができますACCTYPE

答えて

0

をフィルタリングしない:

SELECT CASE 
    WHEN docType IN ('I', 'M', 'D', 'C') 
     THEN 'CUSTOMER' 
     ELSE 'SUPPLIER' 
     END as accType 
    FROM AccountDoc 
0

この

select (case when (docType = 'I' OR docType = 'M' OR docType = 'D' OR docType = 'C') 
    then 'Customer' 
    else 'Supplier' end) 
    as accType 
from AccountDoc 
してみてください
関連する問題