Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / JOIN c конкатенацией значений полей через разделитель / 6 сообщений из 6, страница 1 из 1
17.02.2020, 14:25
    #39927487
Атаська
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN c конкатенацией значений полей через разделитель
Здравствуйте.

Есть таблица products со списком товаров.
Есть таблица images1 со списком главных изображений товаров с записями вида "main_image.jpg".
Есть таблица images2 со списком остальных изображений товара с записями вида "some_image.jpg"
Вторая и третья таблицы связаны с таблицей товаров по ключу id .

Возможно ли через JOIN добавить в таблицу products поле images, в котором будут названия файлов всех изображений товара из обеих таблиц, перечисленные через разделитель (например '|')?

Задача осложняется ещё и тем, что в таблице images2 может быть два и больше изображения (две и больше строк), соответствующие одному товару (одной записи) из products .

Спасибо всем за помощь. Достаточно далека от данной темы - сейчас вот пытаюсь разобраться, но на некоторых моментах упираюсь в стену, так как даже не знаю, как правильно сформулировать запрос в гугле.
...
Рейтинг: 0 / 0
17.02.2020, 15:00
    #39927516
Атаська
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN c конкатенацией значений полей через разделитель
Попыталась дополнительно изобразить графически
...
Рейтинг: 0 / 0
17.02.2020, 15:29
    #39927536
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN c конкатенацией значений полей через разделитель
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT id, name, GROUP_CONCAT(image ORDER BY is_main DESC) images
FROM ( SELECT p.id, p.name, i.name image, TRUE is_main
       FROM products p
       LEFT JOIN images1 i ON p.id = i.id
     UNION ALL
       SELECT p.id, p.name, i.name, FALSE
       FROM products p
       LEFT JOIN images2 i ON p.id = i.id ) total
GROUP BY id, name


Атаська
Есть таблица images1 со списком главных изображений товаров с записями вида "main_image.jpg".
Есть таблица images2 со списком остальных изображений товара с записями вида "some_image.jpg"
И какой же [censored] альтернативно одарённый человек это придумал?
...
Рейтинг: 0 / 0
17.02.2020, 15:41
    #39927544
Атаська
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN c конкатенацией значений полей через разделитель
Akina ,
спасибо вам огромное. А можно ли установить свой разделитель при конкатенации? Например, "|".

И какой же [censored] альтернативно одарённый человек это придумал? Это штатный механизм работы с картинками в CMS ProcessWire. Вот пытаюсь мигрировать на другую.
...
Рейтинг: 0 / 0
17.02.2020, 16:01
    #39927553
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN c конкатенацией значений полей через разделитель
Атаська
можно ли установить свой разделитель при конкатенации?
GROUP_CONCAT() function
...
Рейтинг: 0 / 0
17.02.2020, 16:38
    #39927561
Атаська
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN c конкатенацией значений полей через разделитель
Akina,
ещё раз большое спасибо.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / JOIN c конкатенацией значений полей через разделитель / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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