SELECT
companies.*,
AVG(
cscart_discussion_rating.rating_value
) AS average_rating,
CONCAT(
companies.company_id,
'_',
IF (
cscart_discussion_rating.thread_id,
cscart_discussion_rating.thread_id,
'0'
)
) AS company_thread_ids
FROM
cscart_companies AS companies
LEFT JOIN cscart_discussion ON cscart_discussion.object_id = companies.company_id
AND cscart_discussion.object_type = 'M'
LEFT JOIN cscart_discussion_posts ON cscart_discussion_posts.thread_id = cscart_discussion.thread_id
AND cscart_discussion_posts.status = 'A'
LEFT JOIN cscart_discussion_rating ON cscart_discussion.thread_id = cscart_discussion_rating.thread_id
AND cscart_discussion_rating.post_id = cscart_discussion_posts.post_id
WHERE
companies.company_id = 1