-2
以下のように、SQLクエリから行と列を転記する方法。データをデータベーステーブルに追加されたとしても動作しますクエリを記述するために、SQL Server 2012を使用すると、SQLクエリから行と列を転記する方法
以下のように、SQLクエリから行と列を転記する方法。データをデータベーステーブルに追加されたとしても動作しますクエリを記述するために、SQL Server 2012を使用すると、SQLクエリから行と列を転記する方法
これを試してみてください:
SELECT * FROM t_TableName GROUP BY Month
は試してみてください
MS SQL Server 2008スキーマセットアップ:
CREATE TABLE yourtable
(
[mon] varchar(3), [to] float, [aapl] float,
[msft] float, [ko] float
)
;
INSERT INTO yourtable
([mon],[to],[aapl],[msft],[ko])
VALUES
('jan', 12.25,112.25,56.52,45),
('feb', 12.52,125.25,56.87,46),
('mar', 12.65,126,56.94,47),
('apr', 12.95,127,56.99,45),
('may', 12.85,129,57.25,44)
;
クエリ1:
select * from yourtable
| mon | to | aapl | msft | ko |
|-----|-------|--------|-------|----|
| jan | 12.25 | 112.25 | 56.52 | 45 |
| feb | 12.52 | 125.25 | 56.87 | 46 |
| mar | 12.65 | 126 | 56.94 | 47 |
| apr | 12.95 | 127 | 56.99 | 45 |
| may | 12.85 | 129 | 57.25 | 44 |
クエリ2:
select *
from
(
select *
from yourtable
unpivot
(
value
for month in ([to],[aapl],[msft],[ko])
) unpiv
) src
pivot
(
max(value)
for mon in (jan, feb, mar, apr, may)
) piv
| month | jan | feb | mar | apr | may |
|-------|--------|--------|-------|-------|-------|
| aapl | 112.25 | 125.25 | 126 | 127 | 129 |
| ko | 45 | 46 | 47 | 45 | 44 |
| msft | 56.52 | 56.87 | 56.94 | 56.99 | 57.25 |
| to | 12.25 | 12.52 | 12.65 | 12.95 | 12.85 |
はあなたの欲求の出力と何をしようとするとどのようなあなたのRDBMSがありましたが何であるかを私たちに表示します。 \t [** How-to-Ask **](http://stackoverflow.com/help/how-to-ask) \t \t [**スタート**] http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)質問品質を向上させ、より良い回答を得る方法を学ぶことができます。 –