0

数据结构是

TABLE a
Dates            Ticker_Name  Price
02/01/2013    cc1                  ***
02/01/2013    cc2                  ***
02/01/2013    cc3
02/01/2013    tt1
02/01/2013    tt2
02/01/2013    tt3
02/02/2013    cc2
02/02/2013    cc3

TABLE b
Dates                  cc               tt
02/01/2013             cc2              tt1
02/02/2013             cc3              tt2

假设给定日期范围和 b 中的列名,我想首先找到对应的 cc 代码,即 02/01/2013 上的 cc2 和 02/02/2013 上的 cc3。然后在表a中找到价格。

我写

select a.Dates, a.Ticker_Name, a.Price
From a
INNER JOIN b 
ON a.Dates = b.Dates
AND a.Ticker_Name = b.CL
WHERE b.Dates BETWEEN #03/01/2013# AND #05/01/2013#

但是访问 2010 说 JOIN 操作中有语法错误。任何想法?

4

2 回答 2

0
SELECT a.dates, 
       a.ticker_name, 
       a.price 
FROM   a 
       INNER JOIN b 
               ON a.dates = b.dates 
                  AND a.ticker_name = b.cc 
WHERE  b.dates BETWEEN #03/01/2013# AND #05/01/2013# 

b.cl 到底是什么?我在你的结构中没有看到这个?这可能是导致问题的原因。我已经用 b.cc 替换了上面

于 2013-06-07T14:26:57.157 回答
0

表 b 没有名为 CL 的列。你在这里参考它:

INNER JOIN b 
ON a.Dates = b.Dates
AND a.Ticker_Name = b.CL  -- <<== 
于 2013-06-07T14:27:27.310 回答