質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

1回答

1246閲覧

mysqlでの同一テーブルでの横への連結

HidenoriYamano

総合スコア60

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2016/03/25 06:03

編集2016/03/25 06:07

下のようなデータを同一テーブルでフィールド名のうち、ccodeが一致するものを年ごとに区切って同一テーブルで横へ連結する方法を探しています。

mysql

1select ccode,year,`売上高(百万円)` from finance_data WHERE `業種(東証)` LIKE '水産・農林業' AND `上場場所` LIKE '東証1'; 2+-------+------+----------------------+ 3| ccode | year | 売上高(百万円) | 4+-------+------+----------------------+ 5| 1301 | 1989 | 213409 | 6| 1331 | 1989 | 89791 | 7| 1301 | 1990 | 207862 | 8| 1331 | 1990 | 280238 | 9| 1377 | 1990 | 32299 | 10| 1301 | 1991 | 202573 | 11| 1331 | 1991 | 284053 | 12| 1377 | 1991 | 34472 | 13 14

これを年ごとに区切り
+-------+---------------+---------------+---------------+
| ccode |1989 |1990 |1991 |
+-------+---------------+---------------+---------------+
| 1301 |213409 |207862 |202573 |
| 1331 |89791 |280238 |284053 |
| 1377 |Null |32299 |34472 |

このように連結したいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

可変で範囲も広いと思いますが、、
year列に入る範囲がほぼほぼ決まっているならCASE文で頑張るのが良いかと思います。
CASE文が難しいならプログラム実装ですかね?

以下、参考サイトです。(SQLServerですが)
SQLで検索結果を縦横変換する

投稿2016/03/25 07:42

lilithchan

総合スコア249

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HidenoriYamano

2016/03/29 11:42

case文で実装できました。ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問