0

経費購入に基づくエントリを含むテーブルがあります。以下のように(部門、月、合計)からの結果が必要な3つの列がある場合。

dept | month | total
--------------------
aaaa | octob | 8  
aaaa | octob | 4  
aaaa | novm  | 143  
bbbb | octob | 42  
bbbb | novm  | 116  
bbbb | novm  | 117  
bbbb | decm  | 5  

次のような結果セットを表示したいと思います。

dept | oct | nov | dec
----------------------
aaaa | 12 | 143  | 0
bbbb | 42 | 233  | 5
4

1 に答える 1

1

あなたが求めているものとは正確には異なりますが、これを達成する方法は次のとおりです。

Select department, month, sum(total)
FROM MyTable
GROUP BY (department, month)

これにより、次のような結果セットが返されます。

department | Month | Total
  Geology  |  Oct  |  500
  Geology  |  Nov  |  400
  Biology  |  Oct  |  250

次に、コードで注文して使用して、上記の必要な形式を取得できます。

まさにあなたがそれを求めたのは次のようなものです:

SELECT department, SUM(CASE WHEN Month='oct' THEN Total END) as Oct,
   SUM(CASE WHEN name='Nov' THEN Total END) as Nov
FROM MyTable
Group By (department)

これが group by で正しく機能するかどうかは完全にはわかりませんが。

于 2013-01-29T14:00:58.413 に答える