Oracle案例语句不起作用
我想对下面这样的列使用Oracle案例语句不起作用,oracle,Oracle,我想对下面这样的列使用case语句 SELECT sr_no, TYPE, stage, party_name, amount, remarks, exp_type, exp_id, voucher_no, cheque_no, cheque_dt, chq_favr_name, attachment, CASE NVL (amount, 0) = 0 THEN checkVal = 0 ELSE checkVal = 1 FROM xxcus.
case
语句
SELECT sr_no, TYPE, stage, party_name, amount, remarks, exp_type, exp_id,
voucher_no, cheque_no, cheque_dt, chq_favr_name, attachment,
CASE NVL (amount, 0) = 0 THEN checkVal = 0
ELSE
checkVal = 1
FROM xxcus.xxacl_pn_expense_info
WHERE mkey = '354'
AND ((NVL (amount, 0) <> 0) OR (party_name IS NOT NULL))
ORDER BY sr_no
选择序号、类型、阶段、参与方名称、金额、备注、支出类型、支出id、,
凭证号、支票号、支票日期、支票名称、附件、,
案例NVL(金额,0)=0,然后检查VAL=0
其他的
checkVal=1
来自xxcus.xxacl\u pn\u费用\u信息
其中mkey='354'
和((NVL(金额,0)0)或(参与方名称不为空))
sr_no.订购
但我也有错误
ORA-00923:未在预期位置找到FROM关键字
你错过了一个终点
SELECT sr_no, TYPE, stage, party_name, amount, remarks, exp_type, exp_id,
voucher_no, cheque_no, cheque_dt, chq_favr_name, attachment,
CASE WHEN NVL (amount, 0) = 0 THEN checkVal = 0
ELSE
checkVal = 1
END
FROM xxcus.xxacl_pn_expense_info
WHERE mkey = '354'
AND ((NVL (amount, 0) <> 0) OR (party_name IS NOT NULL))
ORDER BY sr_no
选择序号、类型、阶段、参与方名称、金额、备注、支出类型、支出id、,
凭证号、支票号、支票日期、支票名称、附件、,
当NVL(金额,0)=0时,则checkVal=0
其他的
checkVal=1
终止
来自xxcus.xxacl\u pn\u费用\u信息
其中mkey='354'
和((NVL(金额,0)0)或(参与方名称不为空))
sr_no.订购
你错过了一个终点
SELECT sr_no, TYPE, stage, party_name, amount, remarks, exp_type, exp_id,
voucher_no, cheque_no, cheque_dt, chq_favr_name, attachment,
CASE WHEN NVL (amount, 0) = 0 THEN checkVal = 0
ELSE
checkVal = 1
END
FROM xxcus.xxacl_pn_expense_info
WHERE mkey = '354'
AND ((NVL (amount, 0) <> 0) OR (party_name IS NOT NULL))
ORDER BY sr_no
选择序号、类型、阶段、参与方名称、金额、备注、支出类型、支出id、,
凭证号、支票号、支票日期、支票名称、附件、,
当NVL(金额,0)=0时,则checkVal=0
其他的
checkVal=1
终止
来自xxcus.xxacl\u pn\u费用\u信息
其中mkey='354'
和((NVL(金额,0)0)或(参与方名称不为空))
sr_no.订购
选择序号、类型、阶段、参与方名称、金额、备注、支出类型、支出id、,
凭证号、支票号、支票日期、支票名称、附件、,
当NVL(金额,0)=0时,则0否则1结束为checkVal
来自xxcus.xxacl\u pn\u费用\u信息
其中mkey='354'
和((NVL(金额,0)0)或(参与方名称不为空))
sr_no.订购
选择序号、类型、阶段、参与方名称、金额、备注、支出类型、支出id、,
凭证号、支票号、支票日期、支票名称、附件、,
当NVL(金额,0)=0时,则0否则1结束为checkVal
来自xxcus.xxacl\u pn\u费用\u信息
其中mkey='354'
和((NVL(金额,0)0)或(参与方名称不为空))
sr_no.订购
有一个错误,我已经更正了我的答案然后检查val=0
。。。那是错误的;您需要将列别名(我假定它是checkval
)移动到END
之后,并从case表达式中的两个子句中删除checkval=
。缺少时,我已更正我的答案然后checkval=0
。。。那是错误的;您需要将列别名(我假定为checkval
)移动到END
之后,并从case表达式中的两个子句中删除checkval=
。