2013-02-05 64 views
0

目前我的工作臺上看起來是這樣的:TSQL更新與在

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 

基本上我想要做的是更新,其中分組=「爲主」的工作臺。您將看到「主要」記錄與它應匹配的主節點具有相同的SEDOL。它必須在水平上進行匹配,並且投資組合只可以持有次要投資組合,因此必須在相同級別的投資組合上進行匹配,以避免出現錯誤。

我猜測,劇本必須是這個樣子:

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

但是我卻越來越困惑,要放什麼東西在我的選擇。正確的方向將是一個偉大的點。

感謝

回答

0

可以使用UPDATEJOIN做到這一點。這樣的事情:

UPDATE t1 
SET t1.Grouped = t2.Grouped 
FROM @WorkTable t1 
INNER JOIN @Worktable t2 ON -- a condition 
WHERE -- you can also add conditions here 
+0

感謝您的迴應,這已經指出我在正確的方向。 –

+0

@chrissyp - 隨時歡迎您:)如果出現問題,請隨時編輯您的問題。 –