Как найти часть столбца через запятую значение столбца и вставить в новые строки в MySQL? - PullRequest
0 голосов
/ 01 мая 2019

Проблема:

В таблице базы данных один столбец имеет несколько значений, разделенных запятыми, хочет найти строку и вставить в новую строку по запросу mysql.

Пример структуры таблицы:

| id    value        |
| 1     abcd         |
| 2     xyz,123,abcd |

Вывод будет

| id   value |
| 1     abcd |
| 2     xyz  |
| 3     123  |
| 4     abcd |

Примечание: id - автоинкремент Mysql версия 5.7 Не понимаю, как это сделать.

Заранее спасибо.

1 Ответ

0 голосов
/ 01 мая 2019

Вы можете построить запрос для возврата чисел.

SELECT 1 AS a UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 0

Вы можете присоединиться к нему несколько раз, чтобы получить больший диапазон чисел.

Затем вы можете объединить результаты этого с вашей первой таблицей и использовать число с SUBSTRING_INDEX, ища запятую и предыдущую запятую. И просто вставьте это значение во вторую таблицу.

Сделано несколько раз.

На что нужно обратить внимание: -

Что ваш диапазон номеров достаточен.

что последнее значение, вероятно, будет повторяться. Вы можете исключить это, используя DISTINCT или сравнивая число с количеством запятых, которое содержит исходная строка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...