Использование SQL Server 2008Несколько подзапросы с соединениями и вычисление по псевдониму столбца в SQL Server 2008
ПРОБЛЕМА Я унаследовал некоторый код, который содержит вложенные подзапросы с соединениями. Теперь мне нужно добавить выходной столбец, который вычисляет два столбца уже в таблице. Комбинация (подзапросы, объединения, псевдонимы столбцов)> Me. Спасибо за помощь!
ТОК КОД
SELECT TABLE1.externalid, TABLE1.startdate, TABLE1.enddate, TABLE1.Price,
DATEDIFF(D,TABLE1.startdate,TABLE1.enddate) AS [Days],
TABLE2.UserDefinedIndex, TABLE2.commodity,
(SELECT TOP 1 DATE
FROM (SELECT TOP
(SELECT CASE COUNT(*) WHEN 0 THEN 1 ELSE COUNT(*) END -1
FROM TABLE3 WHERE UserDefinedIndex = 'L' AND DATE < TABLE1.startdate
AND DATE BETWEEN CAST(Table1.startdate as datetime)-6 AND TABLE1.startdate
)*
FROM TABLE3 WHERE UserDefinedIndex = 'L' AND DATE < TABLE1.startdate
AND DATE BETWEEN CAST(TABLE1.startdate as datetime)-6 AND TABLE1.startdate
ORDER BY DATE
) AS A ORDER BY DATE DESC
) AS Final_Pricing_Date,
(SELECT TOP 1 PRICE
FROM (SELECT TOP
(SELECT CASE COUNT(*) WHEN 0 THEN 1 ELSE COUNT(*) END -1
FROM TABLE3 WHERE UserDefinedIndex = 'L' AND DATE < TABLE1.startdate
AND DATE BETWEEN CAST(Table1.startdate as datetime)-6 AND TABLE1.startdate
)*
FROM TABLE3 WHERE UserDefinedIndex = 'L' AND DATE < TABLE1.startdate
AND DATE BETWEEN CAST(TABLE1.startdate as datetime)-6 AND TABLE1.startdate ORDER BY DATE
) AS A ORDER BY DATE DESC
)/100 AS Final_Price
FROM TABLE1 INNER JOIN TABLE2
ON TABLE1.underlying= TABLE2.underlying
ХОЧЕТ ВЫХОДА мне нужно что-то, что позволит мне вернуться расчет на [Final_Price]. Текущие столбцы вывода являются: ExternalId, StartDate, EndDate, Цена, дни, UserDefinedIndex, товар, Final_Pricing_Date, Final_Price
Я хочу добавить столбец [PriceDelta] в конце, который будет TABLE1.Price - Final_Price
Спасибо!
Один из лучших вопросов, которые я видел. Очень хорошо организован и до предела! Хотел бы я дать вам больше голосов! –