週末と休日の日付が保持される OffDays というテーブルがあります。製品が製造されるまでの時間 (日数) が保存される LeadTime というテーブルがあります。最後に、製品と注文日が保持される Order というテーブルがあります。
ストアド プロシージャやループを使用せずに、製品の製造がいつ終了するかを問い合わせることはできますか?
例えば:
- OffDays には 2008-01-10、2008-01-11、2008-01-14 があります。
- 製品 9 の LeadTime は 5 です。
- 製品 9 の注文は 2008 年 1 月 9 日です。
私が探している計算はこれです:
- 2008-01-09 1
- 2008 年 1 月 10 日 x
- 2008 年 1 月 11 日 x
- 2008-01-12 2
- 2008-01-13 3
- 2008 年 1 月 14 日 ×
- 2008-01-15 4
- 2008-01-16 5
ストアド プロシージャを使用したり、アプリケーション コードで計算したりしなくても、クエリで 2008-01-16 を返すことができるかどうか疑問に思っています。
編集 (ストアド プロシージャ/ループ がない理由): ストアド プロシージャを使用できない理由は、それらがデータベースでサポートされていないためです。テーブル/データを追加することしかできません。このアプリケーションは、SQL クエリのみを制御できるサード パーティのレポート ツールです。
編集(現在のやり方): 私の現在の方法は、注文テーブルに計算された日付を保持するための追加の列があり、スケジュールされたタスク/ cronジョブがすべての注文で毎時間計算を実行することです。これは、いくつかの理由で理想的とは言えません。