次のような基本的なものがあるとしましょう
SELECT IF( (1 + 2) >=0, (1 + 2), 0)
FROM DUAL
これは明らかに 3 を返します。
返したいクエリを繰り返さない方法はありますか (ここでは 1 + 2)?
コンテキストに入れると、当月に実行する残りのタスクの数を返したい (少なくとも 4 つを実行する必要があります) が、4 つを超えるタスクが既に実行されている場合は、それ以上実行する必要がないため、次のように返します。 0.
私がやったことは
IF((4 - IFNULL((LONG QUERY RETURNING THE NUMBER OF TASKS DONE THIS MONTH FOR A PARTICULAR USER ),0)) >= 0,
(4 - IFNULL((LONG QUERY RETURNING THE NUMBER OF TASKS DONE THIS MONTH FOR A PARTICULAR USER ),
0)
しかし、クエリが長く、サーバーに同じクエリを2回実行させたくないので、クエリを繰り返さない方法はありますか?