2017-01-31 2 views
1

Meine gute Referenz Convert Month Number to Month Name Function in SQLKonvertieren Monat Nummer Monat Name Funktion über den Zugang

Bisher war ich habe:

SELECT Detail.ItemCode, SUM(Detail.QuantityOrdered) AS Total_Quantity, Header.OrderDate 
FROM Detail INNER 
JOIN rHeader ON Detail.SalesOrderNo = Header.SalesOrderNo 
WHERE Header.OrderDate >= dateadd("m", -4, Date()) 
GROUP BY Detail.ItemCode, OrderDate 
ORDER BY SUM(Detail.QuantityOrdered) DESC; 

Es filtert meine Ergebnisse, und es zeigt nur die letzten vier Monate ab dem heutigen Monat führen .

Ich möchte jeden Monat Verkaufsmenge Summe und seinen Monat, um Funktion zu nennen.

Zum Beispiel:

ItemCode | 10 or October | 11 | 12 | 1  
    PM |  200 | 200 | 200 | 200 

Update: habe ich die folgende Codezeile versuchen, aber mein Date ist in Form von 2016.12.26. Gibt es trotzdem, dass ich damit spielen kann ?? Vielen Dank!

SELECT MonthName(month , DateAdd(month , @MonthNumber , 0) - 1) 
+1

auf der Grundlage Ihrer Frage Geschichte, ich glaube, Sie Access als Front- und Backend verwenden. Wenn das wahr ist, dann ist Ihre referenzierte Seite im ersten Satz eine schlechte Ressource. SQL Server und Access sind verschiedene Plattformen, die verschiedene Versionen von SQL (die Sprache) verwenden. Sie sind nicht austauschbar. Konzentrieren Sie sich auf Fragen mit den Tags [SQL] * und * [Ms-Access], oder Sie erhalten Beispiele mit falscher Syntax oder Funktionen, die nicht existieren. – MoondogsMaDawg

+0

@ ChristopherD. Danke :) Sehr guter Punkt !! Du bist großartig! Danke für die Bearbeitung !! –

Antwort

2

In einer Access-Abfrage sollten Sie die MonthName Funktion konvertiert einen Monat Nummer (zum Beispiel 10) in einen Monatsnamen (zum Beispiel 'October') verwenden können.

Zum Beispiel, wenn Sie eine Abfrage, die ein Geburtsdatum (DOB) gibt ...

SELECT [DOB] FROM [Clients] WHERE [ID]=1 
DOB 
---------- 
1977-05-15 

.. Sie den Namen des Monats zurückkehren kann, in dem sie geboren wurden unter Verwendung von

SELECT MonthName(Month([DOB])) AS MonthOfBirth FROM [Clients] WHERE [ID]=1 
MonthOfBirth 
------------ 
May 
+0

Vielen Dank für Ihren Kommentar! Ich habe versucht Monat Monat wählen (Monat, DateAdd (Monat, @MonthNumber, 0) - 1). Aber ich habe kein Feld, um 'Monat' zu verwenden. Mein Datumsfeld ist wie 12/25/2016. Könnten Sie bitte Ihre Meinung dazu geben? Vielen Dank! :) –

+0

@JohnTipton - Ich habe meine Antwort aktualisiert. –

+0

Vielen, vielen Dank !! Sehr geschätzt! Hoffe, du hast eine tolle Nacht :) –