Sql Server CTE синтаксическая ошибка ... помогите, пожалуйста? - PullRequest
1 голос
/ 04 января 2012

просто промочил ноги с sql server express.У меня есть довольно сложная пара подзапросов, и я упростил ее / их с помощью cte.Я получаю сообщение об ошибке "Неверный синтаксис рядом с" DatesNotNeeded. "Любые желающие? Спасибо заранее ...

WITH Symb AS
(
     SELECT Symbol
     FROM tblSymbolsMain
),

DatesNotNeeded AS
(
     SELECT Date
     FROM tblDailyPricingAndVol
     WHERE (tblDailyPricingAndVol.Symbol = Symb.Symbol)
),

WideDateRange AS
(
     SELECT TradingDate
     FROM tblTradingDays
     WHERE (TradingDate >= dbo.NextAvailableDataDownloadDateTime()) AND (TradingDate <= dbo.LatestAvailableDataDownloadDateTime())
),

DatesNeeded AS
(
     SELECT TradingDate
     FROM WideDateRange
     WHERE NOT EXISTS (DatesNotNeeded)
),

SELECT Symb.Symbol, DatesNeeded.TradingDate
FROM Symb CROSS JOIN DatesNeeded

1 Ответ

1 голос
/ 04 января 2012

Ваш запрос для DatesNeeded некорректен.

 SELECT TradingDate
 FROM WideDateRange
 WHERE NOT EXISTS (DatesNotNeeded)

Это должно быть что-то вроде:

 SELECT TradingDate
 FROM WideDateRange wdr
 WHERE NOT EXISTS (SELECT 1 FROM DatesNotNeeded WHERE Date = wdr.TradingDate)
...