任何人都可以帮助我如何在MySQL存储过程中获得条件语句?
我将此作为示例查询,
如果我的存储过程参数isFirstTask = true
,那么我将使用LEFT JOIN
否则我将使用INNER JOIN
SELECT *
FROM jobdetails jd
INNER JOIN taskslogs tl ON jd.jobID = tl.jobid;
问题是如何将INNER JOIN
更改为LEFT JOIN
而不重复整个查询只是为了替换一个单词。假设我的查询是批量的。可能吗?请一些想法。
答案 0 :(得分:4)
SELECT *
FROM jobdetails jd
LEFT JOIN taskslogs tl ON jd.jobID=tl.jobid
WHERE IF(isFirstTask = TRUE, TRUE, tl.jobid IS NOT NULL);
答案 1 :(得分:1)
您可以将查询构建为存储过程中的字符串。构建查询时,请检查参数的值并确定要使用的JOIN。希望这会有所帮助。