2013-06-07 3 views
0

Структура данныхошибка синтаксиса с помощью регистрации MS-SQL

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 

Пусть диапазона приведены дата и имя столбца в б, я хочу сначала найти коды coresponding куб.см, СС2 на 02/01/2013 и cc3 02/02/2013. Затем найдите цену в таблице 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 говорит, синтаксическая ошибка в операции соединения. Есть идеи?

+0

Структура данных - это название (текст) цены (число) cc (текст) tt (текст) – user2460432

ответ

0

В таблице b нет столбца с именем CL. Вы ссылаетесь на него здесь:

INNER JOIN b 
ON a.Dates = b.Dates 
AND a.Ticker_Name = b.CL -- <<== 
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