【发布时间】:2012-01-03 23:24:26
【问题描述】:
我在同一个 cte 查询上的最后一个问题很快就得到了回答,我想我会从你的 sql 专家那里退回下一个问题。如果我能回顾一下我的基本逻辑,然后显示我的代码和语法错误,任何帮助将不胜感激..
我有三个用于股票交易系统的表:一个符号表:顾名思义,它是一个股票代码列表,一个每日定价/交易量表:同样,如上所述,每条记录都有一个日期字段和符号字段以及定价信息,最后是交易日期表:我们查询中所有交易日期的参考。
我想返回一个包含两个字段的记录集:一个符号和一个日期。该货币对代表在定价量表中没有该交易品种的相应定价/交易量数据的所有交易日期和交易品种。有道理?在我的查询中,我收到错误消息:“无法绑定多部分标识符“Symb.Symbol”。”这是我的 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 wdr
WHERE NOT EXISTS (SELECT * FROM DatesNotNeeded)
)
SELECT Symb.Symbol, DatesNeeded.TradingDate
FROM Symb CROSS JOIN DatesNeeded
【问题讨论】:
标签: sql-server common-table-expression