Sto provando a creare un GridView con ASP.NET che si connette a un database MySQL. I dati appaiono come di seguito.MySQL utilizzando Sum e Case
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
Sulla base dei dati di cui sopra, mi piacerebbe il risultato di apparire come qui di seguito
BusinessUnit TodaysOrders ThisMonthsOrders ThisYearsOrders
UnitA 0 1 2
UnitB 2 3 3
mio codice attuale è al di sotto. E mi sta dando errore (qualcosa su DatabaseName.sum non esiste. Controllare il Nome della funzione di analisi e sezione Risoluzione' ...)
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
codice continua
FROM OrderTable WHERE OrderTable.Canceled. <> 'Y';
è la somma di caso il miglior uso Qui?
tuo contesto sum (caso) va bene come previsto, ma per risposta di Peterm su spaziatura potrebbe essere il tuo problema ... (tuttavia, rimuovere il periodo dopo Annulla. prima di <> 'Y') – DRapp