SELECT adv_stat.*, adv_project.* FROM adv_project LEFT JOIN (SELECT COALESCE ( adv_stat_day_ad.project_id, adv_stat_day_goal.project_id ) AS project_id, SUM (adv_stat_day_ad.views) AS views, SUM (adv_stat_day_ad.clicks) AS clicks, SUM (adv_stat_day_ad.spent) AS spent, SUM (adv_stat_day_goal.conversions) AS conv, SUM (adv_stat_day_goal.revenue) AS revenue, MAX (adv_stat_day_ad.last_update) AS last_update FROM adv_stat_day_ad FULL JOIN adv_stat_day_goal ON ( adv_stat_day_ad.ad_id = adv_stat_day_goal.ad_id AND adv_stat_day_ad."day" = adv_stat_day_goal."day" ) WHERE (adv_stat_day_goal.project_goal_id IS NULL OR adv_stat_day_goal.project_goal_id IN (SELECT id from adv_project_goal where is_default AND project_id IN (58,63))) AND (adv_stat_day_ad. DAY BETWEEN '2014-08-21' AND '2014-08-21' or adv_stat_day_ad. DAY is NULL) AND (adv_stat_day_goal. DAY BETWEEN '2014-08-21' AND '2014-08-21' or adv_stat_day_goal. DAY is NULL) GROUP BY COALESCE ( adv_stat_day_ad.project_id, adv_stat_day_goal.project_id ) ) as adv_stat ON adv_stat.project_id = adv_project.id WHERE adv_project.id IN (58,63) ORDER BY adv_stat.clicks DESC;