特定の日に構築されたすべての製品を一覧表示するSQL Server 2008 R2データベースからレポートのデータを取得する必要があります。レコードは同じ日に複数のエントリを持つことができますが、アイテムを1回だけカウントしたいだけです。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)
を
...それ以外の場合は、各datetimeに対して別々の(重複した)レコードが得られます。日付に基づくビューからレコードを選択するときにdatetimeフィールドが必要ですが、指定したOrderNumberの価格フィールドの正確な合計が必要なので、各SerialNumberを1回だけ見たいだけです。
アイデア?
次の質問 - 同じOrderNumberを持つすべての行の合計価格を取得するにはどうすればよいですか?日付 - 多分それは別の問題であるべき...
日にキャストして考えがありますか?最も古い、最新の? – fge
'TestTable'がある場所に' JOIN'があるようです。あなたはそれを理解するのを助けるためにあなたの質問を単純化しています。その場合は、完全な質問を投稿してください。 –
非常に完全な質問ではありません。あなたは特定の日に構築されていると言いますが、現在はクエリの中に日付=があります。 1日に複数のエントリを意味し、1日あたりの製品ごとに行が必要ですか?それでも価格が変わるとどうなりますか?あなたが助けを求めているが、質問に何らかの努力が必要な場合はどうぞ。 – Paparazzi