У меня есть две таблицы, такие как STR_IndentHeader и STR_IndentDetail.
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
Здесь я хочу обновить STRID_IndentHeader StatusID = 4, когда для всех STR_IndentDetail.ItemID ItemStatusID = 4 относительно IndentID. В противном случае я хочу обновить STR_IndentHeader.StatusID = 3.
В вышеприведенных таблицах, в STR_IndentDetail, для IndentID "1", все ItemStatusID элементов равен 4. Таким образом, у нас есть обновление STR_IndentHeader.StatusID = 4.
Но для IndentID "2", одного элемента (т. Е. ItemID = 11) ItemStatusID = 4 и оставшихся двух элементов ItemStatusID = 3. Так что в этом случае мы должны обновить STR_IndentHeader.StatusID = 3.
Я надеюсь, что это даст лучшую идею. Как это сделать?
Мой желаемый результат для приведенных выше таблиц будет выглядеть так:
STR_IndentHeader:
IndentID StatusID
-------- -----------
1 4
2 3