• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLについて(横並びのデータを縦並びのデータにしたい))

SQLで横並びデータを縦並びにする方法

このQ&Aのポイント
  • SQLを使用して、横並びのデータを縦並びに変換する方法について教えてください。
  • 具体的には、年月、会社、事業部ごとに表示されるデータを、会社、事業部、人数の形式で表示したいです。
  • 何か方法があれば教えてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

RDBMS名とバージョンを、明記するようにしてください。 簡単な方法としては、unionを使います。 なお、このテーブル設計では、事業部の種類だけ、unionが必要になってしまいます。 select * from( select 年月,会社,'A' as 事業部,A事業部_人数 as 人数 from t1 union select 年月,会社,'B' as 事業部,B事業部_人数 as 人数 from t1 ) as x order by 年月,会社,事業部 RDBMSがSQL Server 2005以降なら、pivotという機能があります。 標準SQLや主要なRDBMSでは、日本語の表名、列名を使う場合、"(二重引用符)で囲む必要があるかも知れません。 MySQLではこの部分に独自仕様があり、`(バックォート)で囲みます。 SQL Serverなどのマイクロソフト製品でも独自仕様があり、[ ] で囲みます。

liberty01
質問者

お礼

すぐの回答ありがとうございます>< 確かにUNIONで一個一個くっつければよかったですね。気付かなかったwありがとうございました。 無事に完成することができました。^^ ってか、言語何かを説明したなかったでしたね>< 言語はExcelのVBAでした。 あと、SQLServerにそんな機能があったのを知らなかったorz 結構使ってたのに・・・・まだまだ勉強不足ですね↓頑張ります^^ノ

関連するQ&A