私は、店頭注文のステータスを追跡するERPシステムにテーブルを持っています。コード1〜6を持つオープン日付(列名ORGDUE_10)と状態列(STATUS_10)を持ち、ステータス3はオープン注文であり、ステータス4は閉じています(残りのコードはこのアプリケーションでは関係ありません)。残念ながら、この表には、注文がクローズされた日付を取得できるタイムスタンプ列はありません。複数のショップオーダーが閉鎖されているか(STATUS_10が3から4に変更されたか)、期限を過ぎているかどうか(ORGDUE_10)を判断する必要があります。タイムスタンプを追加するSQLクエリ
どのように私はこれを達成するためのクエリを行うことができますか?私は別のテーブルが必要であると仮定します - それにデータを書き込んでから、何らかのトリガーを書きますか?
私はVS2015を使用しています。 Order_Master
STATUS_10 ORDNUM_10 PRTNUM_10 CURDUE_10
4 | 50015246 |ASY5670 | 9/4/2017
3 | 50016983 |ASY5699 | 5/15/2017
基本的に、閉じる日付を記録するテーブルが必要です。適切な列を追加するには「テーブル」を変更するか、ショップ注文番号と終了日を保持する「別のテーブル」を作成します。ステータスが4になったことを検出するメインテーブルのトリガーによって駆動されるものに挿入します。テーブルには名前があります。実際に取得したものを見積もることができない場合は、1つを偽(SHOP_ORDERSなど)します。どのくらいの頻度で人々がSQLの質問をし、テーブル名を与えないかは(私にとって、私には)驚くべきことです。 –
@Jonathon Leffler、あなたの迅速な対応に感謝します。私が編集できないテーブル名はOrder_Masterです。 2番目のテーブルSO_StatusとカラムStatus(nchar10)、CurDue(Date)、Comp_Date(date)を追加しました。私は元の質問でこれらの詳細を見逃していることを心から謝ります。 –
あなたはそのような情報を紛失しているだけではありません。それはよくある問題です。私は現在、あなたがトリガーを作成するのに助けが必要かどうか、またはトリガーを適切に配置できるようになったので、2つのテーブルから選択するためにSQLを作成するかどうかはわかりません。あなたのサンプルデータは 'CURDUE_10'です。あなたのテキストには 'CURDUE_10'ではなく' ORGDUE_10'と書かれています。私はあなたが2番目のテーブルのいくつかのサンプルデータを提供する必要があると思う - それは、2つの行が期限切れであったものと2つのものがないものと、そして「Order_Master」からの対応するデータを持つことは良いでしょう。期待される出力を得ることは有益でしょう。 (MCVE - [MCVE])。 –