powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / select - развернуть строку в столбец.
9 сообщений из 9, страница 1 из 1
select - развернуть строку в столбец.
    #39965103
vitabios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здавствуйте.
в БД есть записи типа:
IDРодительДети1Мария СеменовнаФЕДОР;АНАСТАСИЯ;СВЕТЛАНА;СВЕТЛАНА

Детей может быть разное количество.
Как можно с помощью запроса вывести список детей в столбец:
IDРодительДети1Мария СеменовнаФЕДОР1Мария СеменовнаАНАСТАСИЯ1Мария СеменовнаСВЕТЛАНА1Мария СеменовнаСВЕТЛАНА

Спасибо
...
Рейтинг: 0 / 0
select - развернуть строку в столбец.
    #39965111
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
group by + group_concat()
...
Рейтинг: 0 / 0
select - развернуть строку в столбец.
    #39965113
vitabios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

можно примерчик? не совсем понимаю как использовать эти 2 функции
...
Рейтинг: 0 / 0
select - развернуть строку в столбец.
    #39965140
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GROUP_CONCAT() functon . Внимательно прочитайте и разберите показанные примеры.
...
Рейтинг: 0 / 0
select - развернуть строку в столбец.
    #39965153
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitabios,

Опорная таблица с числами i от 1 до N, где N гарантированно больше возможного количества детей, декартово произведение с ней, а затем SUBSTRING_INDEX(str,delim,count)
Код: sql
1.
SUBSTRING_INDEX(Дети, ';', i)
...
Рейтинг: 0 / 0
select - развернуть строку в столбец.
    #39965170
vitabios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

group_concat делает ровно наоборот, собирает столбцы в строку. мне же нужно обратное
...
Рейтинг: 0 / 0
select - развернуть строку в столбец.
    #39965171
vitabios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

извините но я новичек и практически ничего не понял, что вы написали.
...
Рейтинг: 0 / 0
select - развернуть строку в столбец.
    #39965174
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT id, parent_name, SUBSTRING_INDEX(SUBSTRING_INDEX(child_names, ';', i), ';', -1) AS child_name
FROM mytable JOIN 
(
SELECT 1 i UNION ALL
SELECT 2 i UNION ALL
SELECT 3 i UNION ALL
SELECT 4 i UNION ALL
SELECT 5 i UNION ALL
SELECT 6 i UNION ALL
SELECT 7 i UNION ALL
SELECT 8 i UNION ALL
SELECT 9 i UNION ALL
SELECT 10 i
) t
ON SUBSTRING_INDEX(CONCAT(child_names, ';'), ';', -1) <> ''


Если ничего не напутал, то как-то так.
...
Рейтинг: 0 / 0
select - развернуть строку в столбец.
    #39965178
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitabios
group_concat делает ровно наоборот, собирает столбцы в строку. мне же нужно обратное
Вот блин... где были мои глаза!
Тогда FAQ: обработка строк и парсинг текстов средствами MySQL .
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / select - развернуть строку в столбец.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]