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