2

MySQLストアドプロシージャに条件付きステートメントを含める方法について誰かが私を助けてくれますか?

私はこれをサンプルクエリとして持っています、

ストアドプロシージャパラメータの場合isFirstTask = trueは使用しLEFT JOINます。それ以外の場合は使用します。INNER JOIN

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

問題は、1つの単語を置き換えるためだけにクエリ全体を繰り返さずに、INNER JOINをに変更するにはどうすればよいかということです。LEFT JOIN私のクエリが大量であると仮定します。出来ますか?いくつかのアイデアをお願いします。

4

2 に答える 2

4
SELECT *
FROM jobdetails jd
      LEFT JOIN taskslogs tl ON jd.jobID=tl.jobid
WHERE IF(isFirstTask = TRUE, TRUE, tl.jobid IS NOT NULL);
于 2012-06-04T18:26:19.963 に答える
1

ストアドプロシージャ内で文字列としてクエリを作成できます。クエリを作成するときに、パラメータの値を確認し、使用するJOINを決定します。お役に立てれば。

于 2012-06-04T18:26:28.127 に答える