В следующем запросе я хотел бы удалить подзапрос из оператора JOIN
(поскольку мои два оператора SELECT
выбирают данные из одной таблицы). Как я могу использовать этот псевдоним? Заранее благодарю за любую помощь.
declare @StartDate datetime= '8/01/2011'
declare @EndDate datetime = '9/20/2011'
declare @PortfolioId int = 6
SELECT
Previous.PreviousNAV,
Todays.TodaysNAV,
ISNULL((Todays.TodaysNAV-Previous.PreviousNAV),0) NetChange,
ISNULL((Todays.TodaysNAV-Previous.PreviousNAV) / Todays.TodaysNAV,0) BAMLIndex
FROM
(
SELECT PortfolioId,ISNULL(NAV,0) PreviousNAV
FROM Fireball..NAV
WHERE Date BETWEEN @StartDate AND @EndDate and PortfolioId = @PortfolioId
) Previous
JOIN
(
SELECT PortfolioId,ISNULL(NAV,0) TodaysNAV
FROM Fireball..NAV
WHERE Date = @EndDate and PortfolioId = @PortfolioId
) Todays
ON Previous.PortfolioId = Todays.PortfolioId