2016-11-22 5 views
0

Ich habe Schwierigkeiten, tägliche Daten (die zu monatlichen Daten aggregiert wurden) mit monatlichen Daten zu verbinden. Ich habe eine Finanzdatenbank in Excel mit zwei Tabellen:Tägliche Daten mit monatlichen Daten verbinden MS-Access 2010

  1. Outlays - Alle Einkäufe mit Kategorie und Datum (Tag/Monat/Jahr), wenn der Kauf

  2. Einkommen gemacht wurde - monatliches Einkommen nach Datum (Monat/Jahr)

ich habe eine Abfrage, die sie täglich Ausgaben und Gruppierung von Monat Summieren:

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)); 

Wo ich in Schwierigkeiten bin läuft das Verbinden der Einkommensdaten auf diese Frage:

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)); 

Diese Abfrage gibt „Syntaxfehler in der FROM-Klausel“.

Alle Ideen für die richtige Syntax würden sehr geschätzt werden.

Antwort

1

In MS Access SQL müssen Sie den Typ JOIN explizit deklarieren und nicht generisch als JOIN belassen. Während in anderen RDMSs JOIN standardmäßig INNER JOIN ist, müssen Sie dies in MS Access deklarieren.

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

Und für mehrere beitritt, müssen Sie Tabelle/Abfrage-Paarungen in Klammern setzen:

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

Ich schlage vor, immer den Query Builder für neue Benutzer. – Fionnuala

Verwandte Themen