我一直在寻找错误一段时间了。提前谢谢你的帮助!!
以下是错误:查询:SELECT reviewer_cases.case_number,reviewer_cases.reviewer,reviewer_cases.revision_reviewer,reviewer_cases.reviewer_revision_t ...
错误代码:1064 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在')附近使用正确的语法。)AS'Revision Review Cost' FROM reviewer_cases LEFT JOIN hr_mr ON reviewer_ca'at line 4
SELECT reviewer_cases.case_number, reviewer_cases.reviewer,
reviewer_cases.revision_reviewer,
reviewer_cases.reviewer_revision_time, hr_mr.mr_hourly_rate,
hr_mr.operation_type, hr_mr.level,
IF(hr_mr.level!='MR1',(reviewer_cases.reviewer_revision_time*
(hr_mr.mr_hourly_rate/60)),
IF(hr_mr.level='MR1','5')) AS 'Revision Review Cost'
FROM reviewer_cases LEFT JOIN hr_mr ON reviewer_cases.revision_reviewer =
hr_mr.alias
WHERE (((reviewer_cases.revision_reviewer) IS NOT NULL) AND
((hr_mr.operation_type)='MR'))
OR (((reviewer_cases.revision_reviewer) IS NOT NULL) AND
((hr_mr.operation_type) IS NULL));
答案 0 :(得分:1)
在MySQL中使用反引号来创建名称中包含空格的列
`Revision Review Cost`
不是
'Revision Review Cost'
或更好,不要在列名中使用空格
Revision_Review_Cost
你的一个IF没有"如果是假的话,那就是#34; - >添加一些东西,即使它只是NULL
答案 1 :(得分:0)
SELECT
reviewer_cases.case_number,
reviewer_cases.reviewer,
reviewer_cases.revision_reviewer,
reviewer_cases.reviewer_revision_time,
hr_mr.mr_hourly_rate,
hr_mr.operation_type,
hr_mr.level,
IF(hr_mr.level != 'MR1',
(reviewer_cases.reviewer_revision_time * (hr_mr.mr_hourly_rate / 60)),
'5') AS 'Revision Review Cost'
FROM
reviewer_cases
LEFT JOIN
hr_mr ON reviewer_cases.revision_reviewer = hr_mr.alias
WHERE
1 = 1
AND (((reviewer_cases.revision_reviewer IS NOT NULL
AND hr_mr.operation_type) = 'MR')
OR (reviewer_cases.revision_reviewer IS NOT NULL
AND hr_mr.operation_type IS NULL));
尝试以上代码。
希望这会对你有所帮助。