给出以下两个表:
CREATE TABLE [dbo].[MTCorrelations]
(
[CorrelationID] [int] IDENTITY(1,1) NOT NULL,
[StockA] [nvarchar](5) NOT NULL,
[StockB] [nvarchar](5) NOT NULL,
[Correlation] [float] NOT NULL,
[LengthStr] [nvarchar](5) NOT NULL,
[Date] [datetime] NOT NULL
)
CREATE TABLE [dbo].[Industries]
(
[IndustryID] [int] IDENTITY(1,1) NOT NULL,
[Symbol] [nvarchar](5) NOT NULL,
[Sector] [nvarchar](50) NULL,
[Industry] [nvarchar](50) NULL
)
Run Code Online (Sandbox Code Playgroud)
我试图从Industries表中查找StockA和StockB的行业.但是我不知道如何进行多个连接.这是我能想到的最好的:
SELECT TOP 1000
[CorrelationID]
,[StockA]
,[StockB]
,[Correlation]
,b.Industry
,c.Industry
FROM [MarketTopology].[dbo].[MTCorrelations] as a JOIN [MarketTopology].[dbo].[Industries] as b ON a.StockA = b.Symbol
AND a JOIN [MarketTopology].[dbo].[Industries] as c ON a.StockB = c.Symbol
Run Code Online (Sandbox Code Playgroud)
我在AND上收到错误.这样做的正确方法是什么?
删除AND a
并只有下一个JOIN
SELECT TOP 1000
[CorrelationID],
[StockA],
[StockB],
[Correlation],
b.Industry,
c.Industry
FROM [MarketTopology].[dbo].[MTCorrelations] AS a
JOIN [MarketTopology].[dbo].[Industries] AS b
ON a.StockA = b.Symbol
JOIN [MarketTopology].[dbo].[Industries] AS c
ON a.StockB = c.Symbol
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3816 次 |
最近记录: |