MySQL视图错误
我有一个SQL查询这样的,它给人一种语法错误,但我找不到它是什么:MySQL视图错误
CREATE VIEW
vw_hs_hr_wf_main_data AS
select mo.wfmod_id,
mo.wfmod_name,
mo.wfmod_view_name,
ty.wftype_code,
ty.wftype_description,
ty.wftype_table_name,
ty.wftype_view_name,
ma.wfmain_id,
ma.wfmain_sequence,
CASE
WHEN ap.wf_main_app_employee IS NULL
THEN ma.wfmain_approving_emp_number
ELSE ap.wf_main_app_employee
END CASE AS wfmain_approving_emp_number,
ma.wfmain_flow_id,
ty.wftype_update_field,
ty.wftype_assembly,
ty.wftype_assembly_class,
ma.wfmain_previous_id,
ty.wftype_cancelmain_field,
ma.wfmain_application_date,
ty.wftype_cancelstatus_field,
ty.wftype_appmain_field,
ty.wftype_bulk_app_flg,
ty.wftype_sort_field_name
FROM hs_hr_wf_module mo INNER JOIN hs_hr_wf_type ty
ON mo.wfmod_id = ty.wfmod_id
INNER JOIN hs_hr_wf_main ma
ON ty.wftype_code = ma.wftype_code
LEFT JOIN hs_hr_wf_main_app_person ap
ON ma.wfmain_id = ap.wfmain_id
AND ma.wfmain_sequence = ap.wfmain_sequence
WHERE (ma.wfmain_iscomplete_flg = 0);
错误消息:
#1064 - 你在您的SQL语法中有错误;检查对应于你的MySQL服务器版本在第11
你不需要END CASE
关闭CASE
使用近“情况下wfmain_approving_emp_number,ma.wfmain_flow_id,ty.wftype_update_fiel”正确的语法手册,只是END
:
END AS wfmain_approving_emp_number,
在你的情况下更好的选择将是一个COALESCE
电话:
COALESCE(ap.wf_main_app_employee, ma.wfmain_approving_emp_number)
AS wfmain_approving_emp_number
是的它是你是大师谢谢 – 2011-05-27 05:40:18
嗨小问题。我可以执行视图时,回顾数据我的wfmain_approving_emp_number字段数据总是追加3字体的实际数据示例emp数应该是8,但它的显示为38 – 2011-05-27 06:43:51
@罗珊:这没有任何意义,你有任何三分你的SQL或数据?顺便说一句,我用比CASE声明更简单的选项更新了我的答案。 – 2011-05-27 06:59:02
这可能是有益的,包括在S pecific错误消息以及。 – wilbbe01 2011-05-27 05:27:32
#1064 - 您的SQL语法错误;检查对应于您的MySQL服务器版本的手册,以便在第11行'CASE AS wfmain_approving_emp_number,ma.wfmain_flow_id,ty.wftype_update_fiel'使用正确的语法 这里是我的错误 – 2011-05-27 05:28:34