2012-01-03 4 views
1

только что мои ноги мокрые с помощью sql server express. У меня есть то, что было бы довольно сложной парочкой подзапросов, и я упростил ее с помощью cte. Я получаю сообщение об ошибке «Неправильный синтаксис рядом с« ДатыNotNeeded ». Любое берущее Спасибо заранее ...Sql Server CTE синтаксическая ошибка ... помогите, пожалуйста?

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 
+0

У вас также есть одна запятой ко многим после последнего CTE. –

+0

@MikaelEriksson Привет, спасибо .. – StatsViaCsh

ответ

1

Ваш запрос для 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) 
+0

Спасибо, я вижу это сейчас, спасибо за синтаксическую помощь .. – StatsViaCsh

Смежные вопросы