У меня есть буксировочные таблицы, и я выполняю выражение о соединении. Когда я делаю там несколько столбцов, имеющих одинаковые ключевые и разные значения. Есть ли способ объединить эти значения, разделенные запятыми?
Это запрос соединения
SELECT A.bucket_id,B.id FROM coms_category A JOIN product_category B ON A.category_url=B.url;
И образец результата подобен этому
+-----------+-----+
| bucket_id | id |
+-----------+-----+
| 1261 | 692 |
| 1157 | 600 |
| 1222 | 600 |
Поскольку 600 идет дважды. Мой желаемый результат - 1157,1222 против 600.
я пытался
SELECT B.id,A.bucket_id GROUP_CONCAT(A.bucket_id SEPARATOR ', ')FROM coms_category A JOIN product_category B ON A.category_url=B.url GROUP BY B.id;
но это не сработало.
использовать подзапрос, 1-я group by
будет удалять дублирование
select T.id ,GROUP_CONCAT(T.bucket_id SEPARATOR ', ')
from (
SELECT B.id,A.bucket_id
FROM coms_category A
JOIN product_category B
ON A.category_url=B.url
GROUP BY B.id,A.bucket_id
) as T group by T.id
A.bucket_id GROUP_CONCAT(A.bucket_id SEPARATOR ', ')
наGROUP_CONCAT(A.bucket_id SEPARATOR ', ')