2012-01-03 55 views
1

只是讓我的腳溼與SQL Server Express。我有什麼會是一個相當複雜的子查詢,我用cte簡化了它。我收到錯誤「DatesNotNeeded附近的語法錯誤」。任何考生在此先感謝...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之後。 – 2012-01-03 22:15:40

+0

@MikaelEriksson嘿,謝謝.. – StatsViaCsh 2012-01-03 22:22:20

回答

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 2012-01-03 22:19:40