1

列の条件付きカウントからSSRSに5つのカウントを提供したいと思います。たとえば、列が製品の色(緑、青、赤、黄色)を保持しているとします。私がやりたいのは、1回のクエリでそれぞれの数を返すことです。

私はcaseステートメントを使用してこれを成し遂げることができますが:

Select
      COUNT(*) 'Count',
      case
            When Color = 'BL' then 'Blue
            When Color = 'RD' then 'Red
            When Color = 'YL' then 'Yellow
            When Color = 'GR' then 'Green
            Else 'All Others'
      End as Payment
From COLORS(NoLock)
Group by
      case
            When Color = 'BL' then 'Blue
            When Color = 'RD' then 'Red
            When Color = 'YL' then 'Yellow
            When Color = 'GRthen ‘Green’
            Else 'All Others'
      End

データセットがSSRSである場合、取得するのは1つのカウントだけです。実際にはパラメータの開始日と終了日でレコードを選択しているため、4つのデータセットクエリを作成したくありません。最終的には5セットの日付パラメータが必要になります。

4

1 に答える 1

5

これでうまくいくはずです

select count (*) as Total,
   sum (case when color='BL' then 1 else 0 end) as BlueTotal,
   sum (case when color='RD' then 1 else 0 end) as RedTotal,
   sum (case when color='YL' then 1 else 0 end) as YellowTotal,
   sum (case when color='GR' then 1 else 0 end) as GreenTotal
from Colors
于 2012-11-05T20:04:36.963 に答える