从三个视图加入数据

时间:2013-05-31 14:18:53

标签: select join multiple-views

我需要将3个不同视图的数据导入到我的结果中。

View A几乎拥有我需要的所有数据,但它使用两个字段的主键,我需要从UI中提取标识符,所以它看起来像这样:

View A: PortfolioID, SecurityID, then 20 other points I need

View B: PortfolioID, PortfolioCode,

View C: SecurityID, Symbol

我需要从View A中选择所有数据,但是我需要View B中相应的PortfolioCode而不是SecurityID,而不是PortID,我需要View C中相应的符号。

对不起,如果这是非常基本的,我是SQL的完全新手。

谢谢!

2 个答案:

答案 0 :(得分:0)

您需要使用联接才能完成您的搜索。

 SELECT ViewA.PortfolioID, ViewA.SecurityID, ViewA.*, ViewB.PortfolioCode, ViewC.Symbol 
    FROM ViewA
    INNER JOIN ViewB on ViewB.PortfolioID = ViewA.PortfolioID
    INNER JOIN ViewC on ViewC.SecurityID = ViewA.SecurityID

您可以详细了解不同类型的联接here

答案 1 :(得分:0)

尝试这样的事情:



    SELECT a.*, b.PortfolioCode, c.Symbol
    FROM ViewA a
    INNER JOIN ViewB b ON (a.PortfolioID = b.PortfolioID)
    INNER JOIN ViewC c ON (a.SecurityID = c.SecurityID)