我需要从SQL Server 2008 R2数据库中提取报告数据,该数据库列出了给定日期内所有产品。记录可以在同一天有多个条目,但我只想要对这些条目进行一次计数。如何在DATETIME不同时选择包括DATETIME的DISTINCT记录?
实例记录:
SerialNumber VARCHAR(20)
OrderNumber VARCHAR(50)
Price DECIMAL(7,2)
TestDateTime DATETIME
我的看法查询可能是这个样子:
SELECT DISTINCT OrderNumber, SerialNumber, Price, TestDateTime
FROM TestTable
ORDER BY OrderNumber, SerialNumber
...然后报告查询会是这个样子:
SELECT OrderNumber, SerialNumber, Price
FROM TestView
WHERE CONVERT(date, getdate()) = CONVERT(date, TestDateTime)
...除了我得到一个单独的(重复)每个日期时间的记录。我需要日期时间字段,因为我将根据日期从视图中选择记录,但我也希望给定OrderNumber的价格字段的精确总数,所以我只想查看每个SerialNumber一次。
任何想法?
下一个问题 - 如何获得具有相同OrderNumber的所有行的总价格?也许这应该是一个独立的问题...
您需要的日期 - 哪个日期?最老的,最新的? – fge 2012-01-03 21:43:49
看起来你可能有'JOIN',你有'TestTable'。您只是简单化查询以帮助我们理解它。如果是这种情况,请发布完整查询。 – 2012-01-03 21:55:14
不是一个非常完整的问题。你说建立一个给定的一天,但现在在你的查询中的日期=。你的意思是每天有多个条目,并且你想要每天为每个产品排行?即便如此,价格如何变化呢?来吧,如果你需要帮助,但在这个问题上的一些努力。 – Paparazzi 2012-01-03 22:32:40