我有查询,它返回有关整体销售的结果,但现在我想通过添加DATE
间隔来筛选它们。SQL Server按日期筛选
编辑:fs.DateKey
是DateTime
数据类型
的我原来的查询:
SELECT s.storekey,
e.employeekey,
e.parentemployeekey,
pc.productcategorykey,
pc.productcategoryname,
Sum(fs.salesamount)AS SalesAmount
FROM dimstore s
INNER JOIN factsales fs
ON fs.storekey = s.storekey
RIGHT JOIN dimemployee e
ON e.employeekey = s.storemanager
INNER JOIN dimproduct p
ON p.productkey = fs.productkey
INNER JOIN dimproductsubcategory psc
ON psc.productsubcategorykey = p.productsubcategorykey
INNER JOIN dimproductcategory pc
ON pc.productcategorykey = psc.productcategorykey
GROUP BY s.storekey,
e.employeekey,
e.parentemployeekey,
pc.productcategoryname,
pc.productcategorykey
ORDER BY employeekey
我想补充WHERE fs.DateKey BETWEEN '2007-01-20' AND '2007-01-25'
但由于某些原因的结果是不正确的。我不明白为什么。任何提示或建议如何实现预期的效果?
谢谢!
首先,什么数据类型是'fs.DateKey' ?,你的意思是不正确的结果? – Lamak 2013-03-06 18:30:35
@Lamak您的评论的第二部分缺少“其次” – Kermit 2013-03-06 18:34:57
为什么你有一个正确的加入? – 2013-03-06 18:36:11