毎月の回転リテイナーの情報を計算するクエリがあります。プロジェクトには、月ごとに一定の時間数が割り当てられており、期間は月のさまざまな時間に開始されます (たとえば、2 月 5 日から 3 月 4 日まで)。クエリ結果の列は次のとおりです。
- プロジェクト名
- 記録された合計時間
- 月間残り時間
- 生理の最終日
- 残存日数
たとえば、プロジェクト A には 15 時間が記録されており、1 か月の期間は残り 5 時間です。期間の最終日は 11 月 17 日で、今日から残り 3 日です。
現在のクエリは、左結合を使用して結合された 4 つのテーブルを取得して、記録された時間がなくてもすべてのクライアントを出力し、ネストされたサブクエリ (8 ~ 86 行目) を使用して列 2、3、4、および 5 を計算します。ただし、列 4 と 5 は印刷されず、常に NULL と表示されます。(これらは期間の最終日と残りの日数です)。
ここの SQL フィドル リンクでスキーマとクエリ コードを確認できます: http://sqlfiddle.com/#!2/fc830/12
記録された時間数がない場合に、列 4 と 5 を取得してデータを印刷し、null にしないようにするにはどうすればよいですか? 追加の左結合が必要になる可能性があると思いますが、解決策を得ることができません。何か提案があれば、よろしくお願いします。ありがとう!