繁体   English   中英

SQL脚本需要帮助

[英]SQL script Help needed

我正在处理以下查询,但无法弄清楚一件事。底部主要查询的结果如下:-

Institute name || Total users || Students || teachers || professionals || Email || Country of Teacher.**

我想将国家的研究所添加为第二列。 表名称-国家/地区主键-ID

该查询很容易理解。 我应该如何进行以下查询或将以下查询放入大查询中,以便得到最终结果:-

Institute name || Country name of institute || Total users || Students || teachers || professionals || Email || Country of Teacher.**

 select  pl.name AS institute_name, c.name as country_name
 from profiles p , places pl , countries c
 where pl.id = p.place_id and p.country_id = c.id
 and pl.formatted_address != ''  

//主要查询从这里开始

   SELECT t.institute_name, SUM(t.total_users), SUM(t.students), SUM(t.teachers), SUM(t.professionals), MAX(t.teacher_emails), MAX(t.teacher_countries)

 FROM

  ((SELECT pl.name AS institute_name, COUNT(ut.classification) AS total_users, COUNT(ut.classification) AS students, 0 AS teachers, 0 AS professionals, NULL AS teacher_emails, NULL AS teacher_countries

       FROM profiles p , places pl , countries c ,user_types ut, users u
          WHERE pl.id = p.place_id AND
          ut.classification = 'student' AND
          p.country_id = c.id AND
          p.user_type_id = ut.id
          AND p.user_id = u.id
          AND DATE(u.created_at) >= '2015-10-02 08:00:00'
          AND formatted_address != '' 
          GROUP BY pl.name, ut.classification)

           ) AS t

  GROUP BY t.institute_name
   HAVING SUM(t.total_users) >= '10'
   ORDER BY t.total_users DESC

尝试这个

   SELECT t.institute_name, t.country_name, SUM(t.total_users), SUM(t.students), SUM(t.teachers), SUM(t.professionals), MAX(t.teacher_emails), MAX(t.teacher_countries)

 FROM

  ((SELECT pl.name AS institute_name, c.name as country_name, COUNT(ut.classification) AS total_users, COUNT(ut.classification) AS students, 0 AS teachers, 0 AS professionals, NULL AS teacher_emails, NULL AS teacher_countries

       FROM profiles p , places pl , countries c ,user_types ut, users u
          WHERE pl.id = p.place_id AND
          ut.classification = 'student' AND
          p.country_id = c.id AND
          p.user_type_id = ut.id
          AND p.user_id = u.id
          AND DATE(u.created_at) >= '2015-10-02 08:00:00'
          AND formatted_address != '' 
          GROUP BY pl.name, ut.classification)

           ) AS t

  GROUP BY t.institute_name
   HAVING SUM(t.total_users) >= '10'
   ORDER BY t.total_users DESC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM