大家好,我的sql代码有点小问题
我只需要在数据库中显示2008年8月的数据。
我的密码是这样的
我要显示2008年8月每个销售人员的销售额
选择p.BusinessEntityID,p.FirstName,p.LastName,ROUND(SUM(soh.TotalDue),2)作为“总属性销售额”
来自Person.Person p,Sales.SalesPerson s,Sales.salesorheader soh
其中p.BusinessEntityID=s.BusinessEntityID
和p.BusinessEntityID=soh.SalesPersonID
以及soh.OrderDate>='2008'和soh.OrderDate按p.BusinessEntityID、p.FirstName、p.LastName分组
按p.LastName排序
我有我数据库的图像
http://www.2shared.com/photo/h2-jMQyP/AdventureWorks2008.html
最佳答案
你可以试试这个:
SELECT DISTINCT p.BusinessEntityID,p.FirstName,p.LastName
FROM Person.Person p INNER JOIN Sales.SalesPerson s
ON p.BusinessEntityID = s.BusinessEntityID
WHERE MONTH(p.your_date) = 8
AND YEAR(p.your_date) = 2008
只需注意:当您必须连接表时,请使用
JOIN
语句代替WHERE
;这里的sql引擎理解您正在连接表并将执行计划转换为使用JOIN
,但在其他情况下,您可能会冒险使用表笛卡尔积,使查询变得非常庞大!关于mysql - sql server如何显示八月份的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9902624/