|
 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. Дамп в аттаче. | |
|
|
|
|
|
|
|
для: 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_cat` ON `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`
|
| |
|
|
|
|
|
|
|
для: Igorek
(19.06.2015 в 16:56)
| | Спасибо! | |
|
|
|