繁体   English   中英

MySQL语法中的错误#1064

[英]Error #1064 in MySQL syntax

我为mysql的视图编写了一个SQL案例条件查询,但出现错误:

#1064 - You have an error in your SQL syntax;error at AS `total_amount_paid`, at line 3

以下是我的代码:

create or replace ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `vw_customer_payment_status` AS select `p`.`customer_id` AS `customer_id`,
concat(`l`.`first_name`,'',`l`.`last_name`) AS `customer_name`,
sum(CASE WHEN l.lead_id = p.customer_id THEN`p`.`payment_amount`) AS `total_amount_paid`,
sum(CASE WHEN l.lead_id = c.customer_id THEN `c`.`pending`) AS `total_amount_due`,
(sum(`p`.`payment_amount`) - sum(`c`.`pending`)) AS `difference`,
if(((sum(`p`.`payment_amount`) - sum(`c`.`pending`)) > 0),0,1) AS `status` 
from ((`tbl_leads` `l` join `tbl_customer_payments` `p`) 
join `tbl_customer_payment_schedule` `c` 
on((`l`.`lead_id` = `p`.`customer_id`)))

您需要在您的CASE语句中添加END CASE。 就在右括号之前。

sum(CASE WHEN l.lead_id = p.customer_id THEN`p`.`payment_amount` END CASE) AS `total_amount_paid`,
sum(CASE WHEN l.lead_id = c.customer_id THEN `c`.`pending` END CASE) AS `total_amount_due`,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM