2016-09-13 10 views
0

誰かが私の問題に関して別のやり方で助けてくれるのだろうかと思います。GROUP BY複数のフィールド?

私が現在持っていることは次のとおりです。

SELECT 
     [ItemDescription] 
     ,COUNT(*) AS 'Amount' 
FROM _shl_SalesOrderSummary ssos 
WHERE ssos.[ItemDescription] 
     IN (SELECT [ItemDescription] FROM [_shl_SalesOrderSummary] 
     WHERE ItemDescription LIKE '%FFP3 DUST MASK%' OR 
     ItemDescription LIKE '%EAR DEFENDERS%' OR 
     ItemDescription LIKE 'SAFETY GOGGLES' 
     GROUP BY [ItemDescription]) 
GROUP BY ssos.[ItemDescription] 

これは私に次のような結果をもたらす:

ItemDescription       Amount 
EAR DEFENDERS        473 
Ear defenders (helmet)      1 
FFP3 Dust masks (SPECIAL ORDER)    1 
safety goggles        1 

私の問題があるが、私は日付がレポートにパラメータを追加できるようにする必要があります。

これを追加すると、正しく実装する方法がわかりません。

例:

SELECT TOP 50 
     [Order Date] 
     ,[ItemDescription] 
     ,COUNT(*) 
FROM _shl_SalesOrderSummary ssos 
WHERE ssos.[ItemDescription] 
     IN (SELECT [ItemDescription] FROM [_shl_SalesOrderSummary] 
     WHERE ItemDescription LIKE '%FFP3 DUST MASK%' OR 
     ItemDescription LIKE '%EAR DEFENDERS%' OR 
     ItemDescription LIKE '%SAFETY GOGGLES%' 
     GROUP BY [ItemDescription]) 
GROUP BY ssos.[ItemDescription], ssos.[Order Date] 

日付が日付別のグループではなく、前の例の一つとして、すべての追加されたときに私のdatesetこの変身:

Order Date    ItemDescription Amount 
2014-03-15 00:00:00  EAR DEFENDERS 15 
2014-03-17 00:00:00  EAR DEFENDERS 10 
2014-03-19 00:00:00  EAR DEFENDERS 22 

どれガイダンスやヘルプはいただければ幸いです- ありがとうございました。

+0

でデータセットを使用すると、パラメータのリストに '[受注日]'パラメータを追加し、そのための動的なクエリを作成する必要があるようです(非表示)のグループに必要 - 。そして、パスこのDate.ValueをDataSetまたはSPのパラメータに設定します。ここでそれを達成したいものが得られます。 – pedram

+0

質問が正確であるかどうかわかりません - 日付などのパラメータを渡す方法はわかりましたが、クエリに日付を追加すると、クエリがグループ化されて分割されます。 (修正メインQ) – Benzz

+0

出力として何をしたいですか?あなたの質問をもう一度編集して私たちに見せることができます。 – pedram

答えて

1

あなたのクエリは正常です。今、あなたはItemDescriptionフィールド上のレポート

https://msdn.microsoft.com/en-us/library/dd255263.aspx

+0

ちょうど私がばかげていると私はそれを複雑に(私はちょうど巨大ないくつかのデータベースのレポートから小さなレポートに来ている)されました - 大変ありがとうございました。 – Benzz