2016-11-22 4 views
0

У меня возникли проблемы с объединением ежедневных данных (которые были объединены с ежемесячными данными) с ежемесячными данными. У меня есть финансовая база данных в Excel с двумя таблицами:Объединяйте ежедневные данные с ежемесячными данными MS-Access 2010

  1. расходы - Все покупки в категории и датах (день/месяц/год), когда покупка была сделана

  2. доход - доход по дате (месяц/год)

у меня есть запрос, суммирующий ежедневные расходы и группируя их по месяцам:

SELECT Format(Outlays.period,"mmm-yy") AS Period, Sum(Outlays.Value) AS [Living Cost] 
FROM Outlays 
GROUP BY Format(Outlays.period,"mmm-yy"), Outlays.[Living Cost] 
HAVING (((Outlays.[Living Cost])=True)); 

Где я бегу в проблемы присоединяется данные о доходе на этот запрос:

SELECT Format(Outlays.period,"mmm-yy") AS Period, Sum(Outlays.Value) AS [Living Cost] 
FROM Outlays 
JOIN Income ON Outlays.period = Income.Period 
GROUP BY Format(Outlays.period,"mmm-yy"), Outlays.[Living Cost] 
HAVING (((Outlays.[Living Cost])=True)); 

Этот запрос возвращает «ошибка синтаксиса в предложении FROM».

Любые идеи относительно правильного синтаксиса были бы высоко оценены.

ответ

1

В MS Access SQL необходимо явно объявить тип JOIN и не оставить его в общем виде как JOIN. Если в других RDMS JOIN по умолчанию используется INNER JOIN, в MS Access вы должны его объявить.

FROM Outlays INNER JOIN Income ON Outlays.period = Income.Period 

И для нескольких объединений, необходимо заключить спаривания таблицы/запроса в скобках:

FROM ((Outlays 
INNER JOIN Income ON Outlays.period = Income.Period) 
INNER JOIN OtherTable ON Outlays.id = OtherTable.id) 
INNER JOIN AnotherTable ON Outlays.id = AnotherTable.id 
+3

Я всегда предлагает построитель запросов к новым пользователям. – Fionnuala

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