7
Bir MySQL veritabanına bağlanan ASP.NET ile bir GridView oluşturmaya çalışıyorum. Veriler aşağıdaki gibi görünür.MySQL Sum ve Case kullanarak
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
yukarıdaki kayıtlara dayanarak, sonuç Benim şu anki kod aşağıda
BusinessUnit TodaysOrders ThisMonthsOrders ThisYearsOrders
UnitA 0 1 2
UnitB 2 3 3
altında gibi görünmesini istediğiniz. Bana hatayı veriyor (DatabaseName.sum ilgili bir şey yok. Fonksiyon Adı Çözümlenmesi ve İlke Kararı'nın' bölümünü kontrol ...) kodu
FROM OrderTable WHERE OrderTable.Canceled. <> 'Y';
devam
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
Sum Vaka iyi kullanım mı İşte?
Kişisel bağlamdır deneyin toplamı (durum) amaçlandığı kadar iyi, ama Peterm'in aralıktaki cevabı meseleniz olabilir ... (Ancak, İptal edildikten sonraki süreyi kaldırın. önce <> 'Y') – DRapp