Select 连接来自三个视图的数据

Select 连接来自三个视图的数据,select,join,multiple-views,Select,Join,Multiple Views,我需要将来自3个不同视图的数据输入到我的结果中 视图A几乎包含了我需要的所有数据,但它对两个字段使用主键,我需要从UI中提取标识符,因此它看起来如下所示: 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.SecurityI

我需要将来自3个不同视图的数据输入到我的结果中

视图A几乎包含了我需要的所有数据,但它对两个字段使用主键,我需要从UI中提取标识符,因此它看起来如下所示:



    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)

视图A:
叶状体,
SecurityID,
然后我需要另外20点

视图B:
叶状体,
PortfolioCode,

视图C: SecurityID, 符号

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

抱歉,如果这是非常基本的,我是SQL的新手


谢谢

您需要使用连接来完成您的搜索

 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

您可以进一步了解不同类型的联接

尝试以下方法:



    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)


我能让它工作。我遇到的一个我没有想到的问题是,每笔交易都有借贷。因此,我实际上在视图A中有securityID1和securityID2。两者都需要从同一个视图(c)中提取一个符号,该视图以securityid作为键。ID1和ID2到c.SecurityId的内部联接都不起作用。如果我正确理解视图的结构,请尝试此操作选择a.*,b.PortfolioCode,c1.符号作为符号1,c2.符号作为符号2从视图a内部联接视图b打开(a.PortfolioID=b.PortfolioID)内部联接视图C打开(a.SecurityID=c1.SecurityID1)内部联接视图C打开(a.SecurityID=c2.SecurityID2)`