従業員のスケジュール DB をチェックする MySQL クエリがあり、(以前の stackoverflow の質問のおかげで) ユーザーが働いていない日を「No Work」として返すため、ユーザーが木曜日に働いていない場合、クエリは満たされます。元の結果セットには日付が表示されませんが、その日付に含まれています (そのため、PHP スクリプトを使用してこれらの空白を埋める必要はありません)。
問題は、ユーザーが今から 2 週間後のスケジュールを確認している場合、その週全体が「No Work」と表示されることです。結果がない場合、スクリプトは「申し訳ありませんが、今週のスケジュールは投稿されていません」と出力する必要があります。これにより、ユーザーは、その週が休みで、後で確認する必要があると誤解することがなくなります。
質問は次のようなものに最適なクエリ構文は何ですか:
SELECT
If Count(*) > 0 {
COALESCE(gooddata, nulldata) AS thedata
etc.
etc.
FROM sched_table
WHERE dates BETWEEN xxx AND yyy
すべての行が null (または count が 0) の場合、行を返さないためです。
カウント用の列を追加して、スクリプトの出力を「投稿されていません」にして、1回の反復後に終了しようとしましたが、良い週には1回の反復後に終了するので、イライラしています。
一歩後退すれば、スクリプトでやりたいことを実行できると確信していますが、クエリでそれを実行する方法があり、少なくとも1行が必要になるかどうか非常に興味があります他のヌル行を合体させるための非ヌル値。