Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Дублируются значения при 2-x GROUP_CONCATE в запросе.
 
 автор: Dante_FX   (14.06.2015 в 10:56)   письмо автору
7.9 Кб
 
 

Здравствуйте, парни.

Запрос:

SELECT `main_table` . * , GROUP_CONCAT( blog_store_table.store_id ) AS `store_ids` , GROUP_CONCAT( cat_table.title ) AS `cat_ids`
FROM `aw_blog` AS `main_table`
LEFT JOIN `aw_blog_store` AS `blog_store_table` ON main_table.post_id = blog_store_table.post_id
LEFT JOIN `aw_blog_post_cat` AS `post_cat_table` ON main_table.post_id = post_cat_table.post_id
LEFT JOIN `aw_blog_cat` AS `cat_table` ON post_cat_table.cat_id = cat_table.cat_id
GROUP BY `main_table`.`post_id`

В результате поля с GROUP_CONCAT взаимно "перемножаются" (что логично):
http://awesomescreenshot.com/06c4zct102

Как получить только уникальные значения для этих полей?

P.S. Дамп в аттаче.

  Ответить  
 
 автор: Igorek   (19.06.2015 в 16:56)   письмо автору
 
   для: Dante_FX   (14.06.2015 в 10:56)
 

Думаю коррелирующие запросы здесь к месту будут:

<?
SELECT 
`aw_blog`.*, 
(
    
SELECT GROUP_CONCAT(aw_blog_cat.title)
    
FROM `aw_blog_cat`
    
JOIN `aw_blog_post_catON `aw_blog_cat`.cat_id = `aw_blog_post_cat`.cat_id
    WHERE  
`aw_blog_post_cat`.post_id = `aw_blog`.post_id
) as categories,
(
    
SELECT GROUP_CONCAT(`aw_blog_store`.store_id)
    
FROM `aw_blog_store`
    
WHERE `aw_blog_store`.post_id = `aw_blog`.post_id
) as stores
FROM 
`aw_blog`

  Ответить  
 
 автор: Dante_FX   (21.06.2015 в 13:56)   письмо автору
 
   для: Igorek   (19.06.2015 в 16:56)
 

Спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования