私はSTR_IndentHeaderとSTR_IndentDetailのような2つのテーブルを持っています。条件に基づいて2つのテーブルを使用して列を更新するにはどうすればよいですか?
STR_IndentDetail:
IndentID ItemID ItemStatusID
-------- ------ ------------
1 22 4
1 23 4
2 11 4
2 12 3
2 13 3
STR_IndentHeader:ここ
IndentID StatusID
-------- -----------
1 1
2 1
私はIndentIDに関してSTR_IndentHeader StatusID = 4、すべてのSTR_IndentDetail.ItemIDのItemStatusID = 4を更新したいと思います。そうでなければ、私は、アイテムのすべてのItemStatusIDが4であるので、我々は= 4 更新STR_IndentHeader.StatusIDを持っているIndentID「1」の場合は、STR_IndentDetailでは、上記の表にSTR_IndentHeader.StatusID = 3
を更新したいですしかし、IndentID "2"、1つのアイテム(ItemID = 11)ItemStatusID = 4、残りの2アイテムItemStatusID = 3です。この場合、STR_IndentHeader.StatusID = 3を更新する必要があります。 アイディア。これを行う方法?
上記の表のための私の望ましい結果は次のようになります:
STR_IndentHeader:私はそれはあなたのサンプルデータを使用してデータベースをセットアップする試験したとき
IndentID StatusID
-------- -----------
1 4
2 3
PUR_POIndentがこれとどのように関係しているかわかりません。 STR_IndentDetailの各IndentIDに対して 'MIN(ItemStatusID)'を設定したいだけです、それとも偶然でしょうか? – scwagner
ここでは、POIDをパラメータとして渡しています。 STR_IndentDetailでPUR_POIndentテーブルに基づいて項目とインデントをチェックし、次にSTR_IndentHeaderを更新する必要があります。 – thevan
STR_IndentHeaderのStatusIDをSTR_IndentDetail内のそれに関連付けられた 'MIN(ItemStatusID)'に設定しているか、それを更新したいのですか? – scwagner