MySQL à l'aide de Somme et le Cas
Je suis en train de créer un GridView avec ASP.NET connexion à une base de données MySQL. Les données s'affiche comme ci-dessous.
BusinessUnit OrderDate Canceled
UnitA 1/15/2013 N
UnitA 10/1/2013 N
UnitB 10/15/2013 N
UnitB 10/22/2013 N
UnitB 10/22/2013 N
Sur la base des relevés ci-dessus, j'aimerais que le résultat apparaisse comme ci-dessous
BusinessUnit TodaysOrders ThisMonthsOrders ThisYearsOrders
UnitA 0 1 2
UnitB 2 3 3
Mon code est ci-dessous. Il me fait une erreur (quelque chose à propos de DatabaseName.somme n'existe pas. De vérifier la
Nom de la fonction d'Analyse et de Résolution de section... )
Select
SUM (CASE WHEN (OrderDate)=DATE(NOW()) THEN 1 ELSE 0 END) AS TodaysOrders,
SUM (CASE WHEN YEAR(OrderDate) = YEAR(CURDATE()) AND MONTH(OrderDate) = MONTH(CURDATE()) THEN 1 ELSE 0 END) AS ThisMonthsOrders,
SUM (CASE WHEN YEAR(main_order_managers.creation_date) = YEAR(CURDATE()) THEN 1 ELSE 0 END) AS ThisYearsOrders
code continue
FROM OrderTable WHERE OrderTable.Canceled. <> 'Y';
Est la Somme des Cas la meilleure utilisation possible ici?
Votre contexte de la somme(cas) est très bien comme prévu, mais par Peterm de réponse sur l'espacement peut être votre problème... (cependant, la suppression de la période d'après Annulée. avant le <> "Y")
OriginalL'auteur Latex Person | 2013-10-22
Vous devez vous connecter pour publier un commentaire.
L'erreur est provoquée par l'espace entre le nom de la fonction et la parenthèse
Lire plus Nom de la fonction d'Analyse et de Résolution
Essayer
Ici est SQLFiddle démo
OriginalL'auteur peterm