如何在MySQL中使用多重连接获取所有记录
问题描述:
我在MYSQL中有4个表格,我想显示所有36个区的learner_history表状态列的数量,但是当我查询时只显示了1个分区结果,即使我尝试过左连接,显示区的名字天气有可用的数据或者不是必须显示在其position.Data零或零应该是这个样子的所有地区:如何在MySQL中使用多重连接获取所有记录
数据库结构是这样的 [进入图像描述这里] [我画这张图片中的表格] 请建议什么查询会给出这样的结果,谢谢。
答
这是非常尴尬的,从处理图像的工作,但它应该让你你所要求的东西。也不确定你想要'Str。#' - 你用22给出的例子图像,因为每个结果都不是最有用的。
select
District.District_Name as District,
sum(Learner_History.`Status` = 'catchment') as Catchment,
sum(Learner_History.`Status` = 'fresher') as Fresher,
sum(Learner_History.`Status` = 'dropout') as Dropout,
sum(Learner_History.`Status` = 'missout') as Missout,
sum(Learner_History.`Status` = 'mainstrain') as Mainstrain,
sum(Learner_History.`Status` = 'pec') as PEC
from District
left join School on School.District_ID = District.District_ID
left join Learner on Learner.School_ID = School.School_ID
left join Learner_History on Learner_History.Learner_ID = Learner.Learner_ID
group by District.District_Name;
大多数人想要格式化文本而不是图像。 – jarlh
没有图片谢谢。请参阅https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-query – Strawberry
有人可以请建议解决方案? –