0

必要なSQLの神々からの助け

表1-DistinctQuotes

このテーブルには、引用符に関する情報が含まれています。

だから私たちは

+-------+-----------+--------------+------+-----------------+
|REGION | SubRegion | Market Route | Type | Quotations Count|
+-------+-----------+--------------+------+-----------------+
|EMEA   | Germany   | Direct       | DS1  | 12              |
|EMEA   | Germany   | NonDirect    | DS1  | 22              |
|EMEA   | Germany   | Direct       | DS1  | 2               |
|EMEA   | Germany   | NOnDirect    | DS1  | 4               |
|EMEA   | France    | Direct       | DS1  | 4               |
|EMEA   | UK        | Direct       | DS1  | 4               |
+-------+-----------+--------------+------+-----------------+

したがって、タイプDS1からの見積もりの​​サブリージョンごとのカウントを表示し、マーケットルートは直接です。

引用符の数は、[Market Route] ='Direct' AND [Type] ='DS1'に一致する行の数ではなく、一致する行のQuotation Countの合計から取得されるため、以下のクエリは間違っています。

誰かが私が必要なものをキャプチャするために以下のクエリを変更するのを手伝ってもらえますか?

SELECT        
 [Region]  ,[SubRegion]      
   ,SUM (CASE WHEN [Market Route] = 'Direct' AND [Type] = 'DS1' 
   THEN 1 ELSE 0 END)               as [Count of Direct quotes from  DS1] 
FROM [dbo].[V_DistinctQuotes]
  GROUP by  [SubRegion],[Region] 
4

3 に答える 3

3

に変更THEN 1 ELSE 0するだけTHEN [Quotations Count] ELSE 0ですか?

于 2012-06-19T10:57:01.680 に答える
1

これは機能しますか?

SELECT
[Region] ,[SubRegion] ,Count(*) as [Count of Direct quotes from DS1] 
FROM  [dbo].[V_DistinctQuotes] 
WHERE [Market Route] = 'Direct' AND [Type] = 'DS1'
GROUP by [SubRegion],[Region] 
于 2012-06-19T10:55:21.053 に答える
1

あなたの質問を正しく理解しているかどうかはわかりませんが、市場ルートが「直接」でタイプが「DS1」である見積もりの​​数(実際には[見積もり数]フィールドの合計)が必要な場合は、次のようにします。

SELECT        
 [SubRegion],sum([Quotations Count])
 from
[dbo].[V_DistinctQuotes]
where
MarketRoute='Direct' and [Type] ='DS1'

group by [SubRegion]

これにより、次のようになります。

SubRegion   (No column name)
France  4
Germany 14
UK      4
于 2012-06-19T11:54:04.433 に答える