powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите пожалуйста правильно объединить строки
7 сообщений из 7, страница 1 из 1
Помогите пожалуйста правильно объединить строки
    #38449107
epicfruit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые профи, помогите пожалуйста! Как правильно выполнить sql-запрос для такой ситуации?

Есть такая бд:
c1-----c2-----c3-----c4------c5
id1-----аб-----2------3-------5,6
id2-----аб-----2------3-------8,9

В этом примере данные во второй строке c2,c3,с4 дублируются, а с1 и с5 уникальны.
Как сделать что-бы при таком дубле(если с2,с3 и с4 совпадает) почти все данные со второй-дублирующей строки, а именно с1,с2,с3,с4 удалялись, а данные из с5 дублирующей строки дописывались к первой строке?
Т.е. из этих двух строк на выходе должно получиться:
c1-----c2-----c3-----c4--------c5
id1-----аб-----2------3-------5,6,8,9
...
Рейтинг: 0 / 0
Помогите пожалуйста правильно объединить строки
    #38449111
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
epicfruit,

Код: sql
1.
2.
3.
select min(c1) as c1, c2, c3, c4, group_concat(c5) as c5
from ...
group by c2, c3, c4
...
Рейтинг: 0 / 0
Помогите пожалуйста правильно объединить строки
    #38449138
epicfruit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwerty112, спасибо ответ! где "from..." я подставляю имя таблицы где
c1-----c2-----c3-----c4------c5
id1-----аб-----2------3-------5,6
id2-----аб-----2------3-------8,9

правильно?

Сделал так, получилось на выходе:
c1-----c2-----c3-----c4--------c5
id1-----аб-----2------3-------5,6,5,6

В с5 дописались значения второй дублирующей строки
...
Рейтинг: 0 / 0
Помогите пожалуйста правильно объединить строки
    #38449279
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
epicfruitСделал так, получилось на выходе:
c1-----c2-----c3-----c4--------c5
id1-----аб-----2------3-------5,6,5,6

В с5 дописались значения второй дублирующей строки
нет. Руки сначала надо вынуть оттуда , а потом делать
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
mysql> create table test(c1 text, c2 text, c3 int, c4 int, c5 text);
Query OK, 0 rows affected (0.23 sec)

mysql> insert into test (c1,c2,c3,c4,c5) values ('id1','аб',2,3,'5,6');
Query OK, 1 row affected (0.06 sec)

mysql> insert into test (c1,c2,c3,c4,c5) values ('id2','аб',2,3,'8,9');
Query OK, 1 row affected (0.06 sec)

mysql> select * from test;
+------+------+------+------+------+
| c1   | c2   | c3   | c4   | c5   |
+------+------+------+------+------+
| id1  | аб   |    2 |    3 | 5,6  |
| id2  | аб   |    2 |    3 | 8,9  |
+------+------+------+------+------+
2 rows in set (0.00 sec)

mysql> select min(c1) as c1, c2, c3, c4, group_concat(c5) as c5
    -> from test
    -> group by c2, c3, c4
    -> ;
+------+------+------+------+---------+
| c1   | c2   | c3   | c4   | c5      |
+------+------+------+------+---------+
| id1  | аб   |    2 |    3 | 5,6,8,9 |
+------+------+------+------+---------+
1 row in set (0.14 sec)
...
Рейтинг: 0 / 0
Помогите пожалуйста правильно объединить строки
    #38449703
epicfruit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, qwerty112, спасибо огромное за помощь!!!! Оказалось, что проблема в неуникальности значений, в одной строке у меня 'аб' в другой 'аб.' из-за длинных названий не замечал этого... А сам запрос - то что нужно!!!

А не подскажите, как в запрос можно еще одно условие добавить, что-бы если значения в с2,с3,с4 и с5 будут совпадать, что-бы эта строка-дубль удалялась:
c1-----c2-----c3-----c4------c5
id1-----аб-----2------3-------5,6
id2-----аб-----2------3-------5,6

выход:
c1-----c2-----c3-----c4------c5
id1-----аб-----2------3-------5,6
...
Рейтинг: 0 / 0
Помогите пожалуйста правильно объединить строки
    #38449754
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
group_concat(distinct c5)
...
Рейтинг: 0 / 0
Помогите пожалуйста правильно объединить строки
    #38450593
epicfruit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, qwerty112, Еще раз - благодарю за помощь!!! Все получилось!)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите пожалуйста правильно объединить строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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