[英]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.