郓城网站开发申京效率值联盟第一
文章目录
- 子查询
大家好!我是夏小花,今天是
2024年1月13日|腊月初三
子查询
需求是:最外层的查询语句里面包含四个不相同表的查询,根据月份进行关联查询,每个查询语句中的where条件
可以自行去定义,最后返回数量和月份
语法:
select a.月份,a.总数一,b.总数二,c.总数三,d.总数四
from (SELECTCONCAT(YEAR(br.measuring_time), '-', LPAD(MONTH(br.measuring_time), 2, '0')) AS Month,COUNT(DISTINCT m.id) AS 总数一FROM persion mJOIN zs_yi br ON m.id = br.p.idWHEREYEAR(br.measuring_time) = 2023 AND ((br.dbpval > m.dbpval_max OR br.dbpval < m.dbpval_min) OR(br.sbpval > m.sbpval_max OR br.sbpval < m.sbpval_min))GROUP BY CONCAT(YEAR(br.measuring_time), '-', LPAD(MONTH(br.measuring_time), 2, '0'))) a left join(SELECTCONCAT(YEAR(br.measuring_time), '-', LPAD(MONTH(br.measuring_time), 2, '0')) AS Month,COUNT(DISTINCT m.id) AS xtCountFROM pserion mJOIN zs_er br ON m.id = br.p_idWHEREYEAR(br.measuring_time) = 2023 AND ((br.gluval > m.sugar_max OR br.gluval < m.sugar_min))GROUP BY CONCAT(YEAR(br.measuring_time), '-', LPAD(MONTH(br.measuring_time), 2, '0'))) b on a.月份 = b.月份 left join(SELECTCONCAT(YEAR(br.measuring_time), '-', LPAD(MONTH(br.measuring_time), 2, '0')) AS Month,COUNT(DISTINCT m.id) AS xzCountFROM pserion mJOIN zs_san br ON m.id = br.p_idWHEREYEAR(br.measuring_time) = 2023 AND ((br.total_cholesterol > m.blood_max OR br.total_cholesterol < m.blood_min))GROUP BY CONCAT(YEAR(br.measuring_time), '-', LPAD(MONTH(br.measuring_time), 2, '0'))) c on a.月份 = c.月份 left join(SELECTCONCAT(YEAR(br.measuring_time), '-', LPAD(MONTH(br.measuring_time), 2, '0')) AS Month,COUNT(DISTINCT m.id) AS tzCountFROM persion mJOIN zs_si br ON m.id = br.p_idWHEREYEAR(br.measuring_time) = 2023 AND ((br.bmi > m.bodyfat_max OR br.bmi < m.bodyfat_min))GROUP BY CONCAT(YEAR(br.measuring_time), '-', LPAD(MONTH(br.measuring_time), 2, '0'))) d on a.月份 = d.月份order by a.月份 asc