繁体   English   中英

MySQL存储过程条件语句

[英]MySQL Stored Procedure Conditional Statement

谁能为我提供有关MySQL存储过程的条件语句的帮助?

我有这个作为示例查询,

如果我的存储过程参数isFirstTask = true那么我将使用LEFT JOIN否则我将使用INNER JOIN

SELECT *
FROM jobdetails jd
INNER JOIN taskslogs tl ON jd.jobID = tl.jobid;

问题是,如何在不重复整个查询以替换一个单词的情况下将INNER JOIN更改为LEFT JOIN 假设我的查询是批量的。 可能吗? 请给我个主意。

SELECT *
FROM jobdetails jd
      LEFT JOIN taskslogs tl ON jd.jobID=tl.jobid
WHERE IF(isFirstTask = TRUE, TRUE, tl.jobid IS NOT NULL);

您可以在存储过程中将查询构建为字符串形式。 构建查询时,请检查参数的值并确定要使用的JOIN。 希望这可以帮助。

暂无
暂无

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

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