我知道这可能是一个简单的问题,但我在过去的一个小时里一直在困扰着这个问题,我不确定哪些术语可以准确地描述我正在尝试做什么。在SQL中如何使用多个case语句?
我正在使用Oracle 12C数据库的应用程序,我想在这个语句中使用多个案例的相同领域,例如。 INVC_TYPE= 0,2
。第一种情况:如果它的2
然后是QTY*-1
,并且情况2:如果它的0
然后是regular
并且如果它的0
然后return
。
所以请有任何人能帮助我:
select
t.ITEM_SID,
i.SBS_NO as INVC_SBS,
i.STORE_NO as INVCSTORENO,
s.STORE_NO as STORENO,
s.STORE_CODE as STORECODE,
s.STORE_NAME,
i.INVC_NO,
i.CREATED_DATE,
i.INVC_SID,
i.INVC_TYPE,
i.CASHIER_ID,
to_char(i.CREATED_DATE) as INVCDATE,
t.ORIG_PRICE as INVCORIGPRICE,
t.PRICE as INVCPRICE,
t.COST as INVCCOST,
case
when i.INVC_TYPE=2 then t.QTY*-1
else t.QTY
end as INVCQTY
case when i.INVC_TYPE=0 then i.INVC_TYPE="REGULAR"
case when i.INVC_TYPE=2 then i.INVC_TYPE="RETURN"
else 'NA'
end as INVCTYPE
from invoice i, invc_item t, SBS_STORE_LIST s
where
INVC_TYPE in (0,2) and
i.invc_sid = t.invc_sid and
i.STORE_NO = s.STORE_NO and
i.REF_INVC_SID is null;
抱歉地说,它的显示同样的错误,遗漏的关键字? –
@AbdulazizHasanAldabbagh - 已更新 – GurV