我有一个场景,我想用交叉引用表中的另一个值覆盖值。它们可以是通用覆盖或组合特定覆盖。我的对照表如下所示:左外部连接返回重复
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