0

6次のように 2 つのテーブルがあります。

MEMBER_ID   CLIENT_ID   TENTATIVE_ID    TENTATIVE_START_DATE
1   65239   26  6/15/2012
2   63693   NULL    NULL
3   5549    NULL    NULL
4   85452   NULL    NULL
5   77898   11  6/15/2012
6   93119   21  6/15/2012
7   7876    26  6/20/2012
8   27572   26  6/21/2012
9   15524   26  6/21/2012
10  39465   8   6/21/2012
11  10143   26  6/23/2012
12  72828   NULL    NULL

表 B:

TENTATIVE_ID    LAST_AUTO_ASSIGNED_ON
26  6/15/2012
11  6/16/2012
21  6/13/2012
27  6/20/2012
28  6/22/2012
29  6/25/2012
8   6/26/2012
21  6/24/2012

LAST_AUTO_ASSIGNED_ON の最小値に基づいて、テーブル A の null をテーブル B の TENTATIVE_ID で更新する必要があり、ID が割り当てられるたびに LAST_AUTO_ASSIGNED_ON がテーブル B のその ID の現在の日時で更新されます。

このようにして、テーブル B のすべての仮 ID をループし、それらをテーブル A に割り当てます。

カーソルの使用は許可されていません。どうすればこれを達成できますか?

ありがとう!

4

1 に答える 1

1

Tablea set tablea.tentative_id = (Last_auto_assigned_on、tentative_id による tableb の順序から上位 1 つの tableb.tentative_id を選択)、Tentative_start_date = tablea から getdate() (tablea.tentative_id が null)

update tableb set last_auto_assigned_on = getdate() where tentative_id = (Last_auto_assigned_on、tentative_id による tableb の順序から上位 1 つの tableb.tentative_id を選択)

于 2012-06-27T20:02:23.710 に答える