我需要一些帮助来获取每个地区所有 projectTypes 的每月项目计数。我已经尝试了以下语句,但它没有返回我需要的内容。以下语句的问题在于,仅当该月有计数时,它才返回 projectType。如果月份没有计数,我需要返回零。任何帮助深表感谢。
SELECT r.region, pt.projectType, count(p.id) as totalCount, p.postedOn as monthCount
FROM region r cross join ProjectTypes pt left join projects p on p.regionID = r.id and pt.id = p.TypeID
WHERE year(p.postedOn) = '2012'
group by r.region, pt.projectType, p.postedOn
order by r.region
请在此处提供示例:http ://sqlfiddle.com/#!3/6680f/18
地区: ------------------------- 编号 | 地区 | ------------------------- 1 | 东 | ------------------------- 2 | 中西部 | ------------------------- 3 | 西 | ------------------------- 项目类型: ------------------------- 编号 | 项目类型 | ------------------------- 1 | 网页设计 | ------------------------- 2 | 数据库 | ------------------------- 3 | 发展 | ------------------------- 项目: -------------------------------------------------- ---------------------- 编号 | 项目名称 | 地区ID | 项目类型ID | 发表于 | -------------------------------------------------- ---------------------- 1 | 项目 1 | 1 | 2 | 2012-09-02 | -------------------------------------------------- ---------------------- 2 | 项目 2 | 2 | 2 | 2012-09-02 | -------------------------------------------------- ---------------------- 3 | 项目 3 | 1 | 1 | 2012-09-02 | -------------------------------------------------- ---------------------- 4 | 项目 4 | 3 | 2 | 2012-09-02 | -------------------------------------------------- ---------------------- 5 | 项目 5 | 3 | 1 | 2012-10-02 | -------------------------------------------------- ---------------------- 6 | 项目 6 | 3 | 2 | 2012-10-02 | -------------------------------------------------- ---------------------- 7 | 项目 7 | 3 | 3 | 2012-10-02 | -------------------------------------------------- ---------------------- 8 | 项目 8 | 2 | 3 | 2012-10-02 | -------------------------------------------------- ---------------------- 9 | 项目 9 | 1 | 2 | 2012-10-02 | -------------------------------------------------- ---------------------- 10 | 项目 10 | 1 | 2 | 2012-10-02 | -------------------------------------------------- ---------------------- 期望的结果: -------------------------------------------------- -------- 地区 | 项目类型 | 总数 | 月数 | -------------------------------------------------- -------- 东 | 网页设计 | 1 | 九月 | -------------------------------------------------- -------- 东 | 数据库 | 1 | 九月 | -------------------------------------------------- -------- 东 | 发展 | 0 | 九月 | -------------------------------------------------- -------- 中西部 | 网页设计 | 0 | 九月 | -------------------------------------------------- -------- 中西部 | 数据库 | 1 | 九月 | -------------------------------------------------- -------- 中西部 | 发展 | 0 | 九月 | -------------------------------------------------- -------- 西 | 网页设计 | 0 | 九月 | -------------------------------------------------- -------- 西 | 数据库 | 1 | 九月 | -------------------------------------------------- -------- 西 | 发展 | 0 | 九月 | -------------------------------------------------- -------- 东 | 网页设计 | 0 | 十月 | -------------------------------------------------- -------- 东 | 数据库 | 2 | 十月 | -------------------------------------------------- -------- 东 | 发展 | 0 | 十月 | -------------------------------------------------- -------- 中西部 | 网页设计 | 0 | 十月 | -------------------------------------------------- -------- 中西部 | 数据库 | 0 | 十月 | -------------------------------------------------- -------- 中西部 | 发展 | 1 | 十月 | -------------------------------------------------- -------- 西 | 网页设计 | 1 | 十月 | -------------------------------------------------- -------- 西 | 数据库 | 1 | 十月 | -------------------------------------------------- -------- 西 | 发展 | 1 | 十月 | -------------------------------------------------- --------