MySQL内部连接在GROUP_CONCAT结果列上可以吗?

时间:2018-08-02 13:38:22

标签: mysql

我有一个如下所示的MySQL查询。该查询运行良好,并返回了我正在寻找的结果。

我有一个餐桌广告系列,然后与一个餐桌客户一起加入, 然后是另外两个内部查询结果。

无论如何,有什么地方可以改善下面的查询以获得相同的结果。 使用GROUP_CONCAT然后对它们进行联接会带来性能问题吗?

SELECT
 campaigns.*,
 video_reports_temp.*,
 pdf_reports_temp.*,
 clients.email   FROM ` campaigns`
INNER JOIN  clients on  clients.id =  campaigns.client_id
INNER JOIN (
       SELECT GROUP_CONCAT( video_reports.video_report  separator '\n') as video_report,
       GROUP_CONCAT( video_reports.created_at  separator '\n') as video_report_date,
       video_reports.campaign_id
       FROM video_reports
       GROUP BY campaign_id
 ) video_reports_temp ON video_reports_temp.campaign_id= campaigns.id
 INNER JOIN (
     SELECT GROUP_CONCAT( pdf_reports.pdf_report   separator '\n') as  pdf_report ,
     GROUP_CONCAT( pdf_reports.created_at  separator '\n') as pdf_report_date,
     pdf_reports.campaign_id
     FROM pdf_reports
     GROUP BY campaign_id
 ) pdf_reports_temp ON pdf_reports_temp.campaign_id= campaigns.id
 WHERE campaigns.id=$id

0 个答案:

没有答案