2017-01-31 1 views
1

Ma bonne référence a été Convert Month Number to Month Name Function in SQLConvertir mois Nombre de Nom Mois fonction sur l'accès

Jusqu'à présent, j'ai:

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; 

Il filtre mes résultats et il ne montre que quatre derniers mois résultent du mois d'aujourd'hui . Je voudrais avoir la somme des ventes de chaque mois, et son mois pour nommer la fonction.

Par exemple:

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

Mise à jour: J'ai essayé la ligne de code suivante, mais ma date est sous forme de 26/12/2016. Y at-il de toute façon que je puisse jouer avec? Je vous remercie!

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

sur la base de l'histoire de votre question, je crois que vous utilisez Access comme avant et arrière. Si cela est vrai, votre page référencée dans la première phrase est une mauvaise ressource. SQL Server et Access sont des plates-formes différentes, utilisant différentes versions de SQL (le langage). Ils ne sont pas interchangeables. Concentrez-vous sur les questions avec les balises [SQL] * et * [Ms-Access] ou vous obtiendrez des exemples avec une syntaxe incorrecte ou des fonctions qui n'existent pas. – MoondogsMaDawg

+0

@ChristopherD. Merci :) Très bon point !! Vous êtes formidable! Merci pour l'édition !! –

Répondre

2

Dans une requête d'accès, vous devriez être en mesure d'utiliser la fonction MonthName pour convertir un nombre de mois (par exemple, 10) dans un nom de mois (par exemple, 'October').

Par exemple, si vous avez une requête qui retourne une date de naissance (DOB) ...

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

.. vous pouvez retourner le nom du mois au cours duquel ils sont nés à l'aide

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

Merci beaucoup pour votre commentaire! J'ai essayé Select MonthName (mois, DateAdd (mois, @MonthNumber, 0) - 1). Mais je n'ai pas de champ à utiliser 'mois'. Mon champ de date est comme le 25/12/2016. Pourriez-vous donner votre avis à ce sujet? Je vous remercie! :) –

+0

@JohnTipton - J'ai mis à jour ma réponse. –

+0

Merci beaucoup! Très appréciée! Esperons que tu as passé une bonne nuit :) –