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

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

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

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

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

1回答

2683閲覧

MySQL カラムの値をカンマ区切りで取得し、JSPに表示

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

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

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2017/10/02 02:13

編集2022/01/12 10:55

SpringMVCでWEBアプリケーションを作っています。

以下のようなテーブルがあるとします。

+----------+---------------------+
| name | score |
+----------+---------------------+
| A | 20,35,50,86,77 |
| B | 20,35,50 |
| C | 34,55,12,45,75,34 |
+----------+---------------------+

スコアの値も数も違いますが、それぞれの値を分割して出力したいです。

JSPでの表示イメージとしては、

A ○20 ○35 ○50 ○86 ○77
B ○20 ○35 ○50
C ○34 ○55 ○12 ○45 ○75 ○34 ※ ○はラジオボタン

SELECT文のWHERE句使ってカラム名を指定するところまではわかるのですが、
そのほかの書き方がわからない状態です。

雑な説明となってしまいましたが、何卒よろしくお願いします。

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

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

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

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

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

yambejp

2017/10/02 02:20

質問内容はなんでしょう?SQL文、接続方法、成型方法なにがわからいのでしょうか?
退会済みユーザー

退会済みユーザー

2017/10/02 02:40

投稿内容を修正しました。わからないのはSQL文についてです。
guest

回答1

0

基本的にはただの文字列ですからsplit的な処理で配列に分割すればいいと思います
ただしSQL的にはデータの持ち方がよくありません。

namescore
A20
A35
A50
A86
A77
B20
B35
B50
C34
C55
C12
C45
C75
C34

のようなデータの持ち方をした方がよいでしょう

sample

SQL

1create table tbl(id int primary key auto_increment,name varchar(10),score int); 2insert into tbl(name,score) values 3('A',20), 4('A',35), 5('A',50), 6('A',86), 7('A',77), 8('B',20), 9('B',35), 10('B',50), 11('C',34), 12('C',55), 13('C',12), 14('C',45), 15('C',75), 16('C',34); 17select name,group_concat(score) as scores from tbl group by name; 18

投稿2017/10/02 02:47

編集2017/10/03 02:24
yambejp

総合スコア114572

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

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

退会済みユーザー

退会済みユーザー

2017/10/03 02:15

回答ありがとうございます。 DBの構造を考え直したほうがいいということでしょうか?
yambejp

2017/10/03 02:23

> DBの構造を考え直したほうがいいということでしょうか? そうです いまのままでは検索性も悪く、SQLで管理するようなデータになっていません 本文に追記しておきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問