Объединить поля одинаковых инкрементов - MySQL

Узнай цену своей работы

Формулировка задачи:

Всем привет, имеются две таблицы. В одной автоинкремент, в другой такой же айди. На выводе получаю 1 - test 1- test 2 3 - hi 1 - test 3 2 - hihihi 2 - qwe Необходимо сделать, чтобы: 1 - test test 2 test 3 3 - hi 2 - qwe, hihihi

Решение задачи: «Объединить поля одинаковых инкрементов»

textual
Листинг программы
SELECT `crm_agreement`.`id`, group_concat(`crm_comment_comp`.`comment`) as `names` FROM `crm_agreement` LEFT JOIN `crm_comment_comp` ON `crm_comment_comp`.`synhId` = `crm_agreement`.`id` WHERE 1 GROUP by `crm_agreement`.`nomerDogovora` ORDER BY `crm_comment_comp`.`comment` DESC

Объяснение кода листинга программы

В данном коде происходит объединение двух таблиц: crm_agreement и crm_comment_comp по полю synhId = id с использованием оператора LEFT JOIN. Далее, выбираются поля id и comment из объединённой таблицы. При помощи функции group_concat поле comment объединяется в одну строку для каждого уникального значения поля id. Выполняется фильтрация результатов с помощью оператора WHERE по условию 1 (возможно, здесь предполагалось какое-то конкретное условие, но оно не указано в задании). Результат группируется по полю nomerDogovora с помощью оператора GROUP BY. В конце результаты сортируются по полю comment в порядке убывания с помощью оператора ORDER BY. Таким образом, данный запрос выбирает id и объединяет комментарии для каждого договора в одну строку, сортируя их по дате в обратном порядке.

Оцени полезность:

14   голосов , оценка 4 из 5