2016-10-12 5 views
0

Ich bekomme wöchentliche Daten und muss jede Woche mit MTD, QTD und YTD auf der gleichen Tabelle melden. Ich habe die Spalten Startdatum (Montag) und Enddatum (Sonntag), Monatsnummer, Wochennummer, Jahr, Quartalsnummer und verkaufte Dollar und verkaufte Einheiten jedes Produkts. Ich habe die folgende Abfrage erhalten MTD von anderem Beitrag inspiriert:MS Access MTD/QTD QUERY

SELECT b.month AS Month, 
     b.[Vendor Part] AS VendorID, 
     (SELECT sum(a.[Dollars_Sold]) FROM [DATA] AS a 
     WHERE a.Month<=b.Month 
      AND a.Year=b.Year 
      AND a.[Vendor Part]=b.[Vendor Part]) AS MTD_Dollars 
FROM DATA AS b 
GROUP BY [Vendor Part], Month, Year 

Wenn ich versuche, um die Abfrage auszuführen, das folgende Dialogfeld erscheint out:

Please check the picture for dialog box

Vendor Teil ist die eindeutige ID von jedem Produkt. Dann, nach einer langen Wartezeit, gibt die Abfrage ein Ergebnis nur mit den Summen für jeden Monat zurück.

Please check the results

Wer weiß, was falsch ist? Ich möchte nicht das Dialogfeld aus, ich möchte die Abfrage in der Lage sein, eine Tabelle mit jedes Produkt MTD/QTD/YTD zu produzieren.

Diese Abfrage funktioniert für die Summen jedes Monats, aber nicht für jedes Produkt in jedem Monat. Bitte helfen Sie. Vielen Dank.

Antwort

0

Vermissen Sie ein Komma:

SELECT b.month AS Month, 
     b.[Vendor Part] AS VendorID, 

     (SELECT sum(a.[Dollars_Sold]) FROM [DATA] AS a 
     WHERE a.Month<=b.Month 
      AND a.Year=b.Year 
      AND a.[Vendor Part]=b.[Vendor Part]) AS MTD_Dollars, 

     (SELECT sum(a.[Dollars_Sold]) FROM DATA AS a 
     WHERE a.Month<=b.Month 
      AND a.Year=b.Year 
      AND a.[Vendor Part]=b.[Vendor Part]) AS MTD_Units 

FROM DATA AS b 
GROUP BY b.[Vendor Part], a.Month,a.Year 
+0

Danke, es war ein Tippfehler, aber es war nicht mein Problem. Aber ich habe einen Fehler gemacht, als ich an MTD dachte und QTD ist das Gleiche mit YTD. Wenn ich MTD mache, muss ich von jedem neuen Monat aggregieren. Ich werde diesen Beitrag bearbeiten. Vielen Dank. – Sarah