私はテーブルのトレーニングを持っているが、私は複数の行にTraining_name列値を分割したい:のmysql - 行に分割された列を動的
SLNO Category Training_name
1 A 1,5,9,15,12,16
2 B 2,6,10,17
3 C 1,3,7,19,14,18
私は、クエリの下に使用されますが、このクエリを使用して、私は2つのだけの行に分割することができます。 ...下記の通り、私はテーブルを取得しようとしています
SELECT training.SLNO,training.CATEGORY, SubString_Index(training.TRAINING_NAME, ',', 1) AS TRAINING_NAME FROM training UNION ALL SELECT training.SLNO,training.CATEGORY, SubString_Index(training.TRAINING_NAME, ',', -1) FROM training
、ここで
SLNO Category Training_name
1 A 1
1 A 5
1 A 9
1 A 15
1 A 12
1 A 16
2 B 2
2 B 6
2 B 10
2 B 17
3 C 1
3 C 3
3 C 7
3 C 19
3 C 14
3 C 18
うまくいけば、データ構造を修正するためにこれをやってみたいです。 –
これはおそらくデータを正規化するための1回の操作であるため、大雑把なコードで行うことになります。 PHPでこれを行うようにしてください。 SOはコード作成サービスではないので、少なくともこれにいくつかの試行を示すべきです。 –
https://stackoverflow.com/questions/17308669/reverse-group-concat-in-mysql – etsa