gpt4 book ai didi

mysql - 程序中的sql语法错误

转载 作者:行者123 更新时间:2023-11-29 00:12:16 25 4
gpt4 key购买 nike

我正在编写一个程序以从数据库中获取数据。

这是我的程序。

CREATE DEFINER=`root`@`localhost` PROCEDURE `getCdrListnew`(from_date DATETIME, to_date DATETIME, 
p_category VARCHAR(255), p_callType VARCHAR(255), p_businessId VARCHAR(255), p_dnc VARCHAR(255),
p_cli VARCHAR(255), p_dni VARCHAR(255), p_callNumber VARCHAR(255), p_dialType VARCHAR(255), p_contractType VARCHAR(255) )
BEGIN
DECLARE a INT ;
DECLARE setFilter INT DEFAULT FALSE;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET a = 0;
BEGIN
END;


SET @sqlCalls = 'SELECT agentcdr.isdnCauseCode,COUNT(*) as count FROM cdr';
-- SET @sqlCalls= CONCAT(@sqlCalls,' LEFT JOIN agentcdr ON cdr.idCDR=agentcdr.cdr_idCDR ');


IF( (from_date IS NOT NULL AND from_date != '')&& (to_date IS NOT NULL AND to_date != '') ) THEN
SET @sqlCalls= CONCAT(@sqlCalls,' WHERE cdr.createdDt >=\'',from_date,'\' AND cdr.createdDT<=', '\'',to_date,'\'');
SET setFilter = TRUE;
END IF;

SET @sqlCalls= CONCAT(@sqlCalls,' LEFT JOIN agentcdr ON cdr.idCDR=agentcdr.cdr_idCDR GROUP BY agentcdr.isdnCauseCode ');
PREPARE prepsqlstr1 FROM @sqlCalls;
EXECUTE prepsqlstr1;
END

当我执行上面的代码时,出现如下错误。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN agentcdr ON cdr.idCDR=agentcdr.cdr_idCDR GROUP BY agentcdr.isdnCauseCo' at line 1

我知道这是语法问题,但无法弄清楚我在这里做错了什么。

请帮帮我。

如果有任何方法可以打印在程序中执行的查询以进行调试,也请告诉我。

最佳答案

看起来您在生成的语句中的顺序有误:

你得到一个 select ... where ... left join ...。这是错误的语法。

关于mysql - 程序中的sql语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24484409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com