我有一個場景,我想用交叉引用表中的另一個值覆蓋值。它們可以是通用覆蓋或組合特定覆蓋。我的對照表如下所示:左外部連接返回重複
SEDOL Portfolio Override
1 1 Technology
1 2 Financial
1 NULL Industrial
2 NULL Technology
3 NULL Financial
如果投資組合爲NULL,則它是一個普遍的覆蓋,如果它有一個投資組合號碼,然後它是一個投資組合的具體覆蓋。
所以後來我的選擇是這樣的:
SELECT
Portfolio
, SEDOL
, CASE
WHEN hack.SEDOL = ia.SEDOL AND hack.Portfolio = ia.Portfolio THEN hack.Override -- Portfolio Specific Hack
WHEN hack.SEDOL = ia.SEDOL AND hack.Portfolio IS NULL THEN hack.Override -- Hack for all portfolio's
ELSE ia.Sector
END
FROM positions as ia
LEFT OUTER JOIN DP_CrossReference AS hack -- Override/Hacks
ON hack.SEDOL = ia.SEDOL
AND (hack.Portfolio = ia.Portfolio OR hack.Portfolio IS NULL)
我似乎然而,要得到重複投資組合1,其中被返回的特定組合覆蓋和普遍覆蓋正在返回SEDOL 1.我認爲案件狀態足以對此進行分類。它必須是我加入到DP_CrossReference。我怎樣才能加入到這個表格中,以便我不會重複,但它包含了特定的組合覆蓋,通用覆蓋和沒有覆蓋的覆蓋?
如果您有SEDOL = 1和投資組合= 1,應該採用哪種覆蓋?您擁有相同價值的投資組合和通用覆蓋。這是重複的地方。 – EricZ 2013-04-11 17:09:27
這只是一個示例數據,這不是我的實際數據的問題 – 2013-04-12 10:15:37