我需要從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