【发布时间】:2015-01-09 17:34:37
【问题描述】:
我是 Access 和 SQL 编程的新手。我正在尝试执行以下操作:
Sum(SO_SalesOrderPaymentHistoryLineT.Amount) AS [Sum Of PaymentPerYear]
即使某些年份没有金额,也可以按年份分组。我希望将这些年也列出来作为带有图表的报告。我不确定这是否可行,但我们非常感谢您的每一点帮助。
到目前为止我的代码如下:
SELECT
Base_CustomerT.SalesRep,
SO_SalesOrderT.CustomerId,
Base_CustomerT.Customer,
SO_SalesOrderPaymentHistoryLineT.DatePaid,
Sum(SO_SalesOrderPaymentHistoryLineT.Amount) AS [Sum Of PaymentPerYear]
FROM
Base_CustomerT
INNER JOIN (
SO_SalesOrderPaymentHistoryLineT
INNER JOIN SO_SalesOrderT
ON SO_SalesOrderPaymentHistoryLineT.SalesOrderId = SO_SalesOrderT.SalesOrderId
) ON Base_CustomerT.CustomerId = SO_SalesOrderT.CustomerId
GROUP BY
Base_CustomerT.SalesRep,
SO_SalesOrderT.CustomerId,
Base_CustomerT.Customer,
SO_SalesOrderPaymentHistoryLineT.DatePaid,
SO_SalesOrderPaymentHistoryLineT.PaymentType,
Base_CustomerT.IsActive
HAVING
(((SO_SalesOrderPaymentHistoryLineT.PaymentType)=1)
AND ((Base_CustomerT.IsActive)=Yes))
ORDER BY
Base_CustomerT.SalesRep,
Base_CustomerT.Customer;
【问题讨论】:
-
您需要另一个列出所有年份的表——您可以即时创建它,也可以在数据库中创建一个...从那里加入。
-
你想要怎样的结果?是否要按升序显示年份(2000、2001、2002、2003、... 2015)与每年的销售额?
-
所以
SO_SalesOrderPaymentHistoryLineT.DatePaid是年号?我猜这是一个约会,不会让你获得每年的团体。
标签: sql sql-server missing-data