0

現在、私のワークテーブルは次のようになっています。

Portfolio    SEDOL    Grouped    Level
1            111      As Primary 2
1            111      Energy     2
1            122      Financial  2
2            111      Financial  1
2            133      As Primary 1 
2            133      Gas        1
2            123      Oil        1

基本的に私がやりたいことは、grouped = "As Primary" の作業テーブルを更新することです。As Primary レコードには、一致する必要がある Primary と同じ SEDOL があることがわかります。レベルで一致する必要があり、ポートフォリオがセカンダリのみを保持する可能性があるため、エラーがないように同じレベルのポートフォリオで一致する必要があります。

スクリプトは次のようにする必要があると推測していました。

UPDATE @WorkTable
SET Grouped = (SELECT Grouped FROM @Worktable
               WHERE ............... 
WHERE (Select  ............. 

しかし、私は自分の選択に何を入れるべきかについて混乱しています。正しい方向へのポイントは素晴らしいでしょう。

ありがとう

4

1 に答える 1

0

UPDATEを使用してこれを行うことができますJOIN。このようなもの:

UPDATE t1
SET t1.Grouped = t2.Grouped
FROM @WorkTable t1
INNER JOIN @Worktable t2 ON -- a condition
WHERE -- you can also add conditions here
于 2013-02-05T10:49:02.897 に答える