2017-04-18 65 views
-2

我在MYSQL中有4个表格,我想显示所有36个区的learner_history表状态列的数量,但是当我查询时只显示了1个分区结果,即使我尝试过左连接,显示区的名字天气有可用的数据或者不是必须显示在其position.Data零或零应该是这个样子的所有地区:如何在MySQL中使用多重连接获取所有记录

data should be like this for all districts

数据库结构是这样的 [进入图像描述这里] [我画这张图片中的表格] 请建议什么查询会给出这样的结果,谢谢。

i draw the relation of tables in this image 13.jpg

+1

大多数人想要格式化文本而不是图像。 – jarlh

+0

没有图片谢谢。请参阅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

+0

有人可以请建议解决方案? –

回答

1

这是非常尴尬的,从处理图像的工作,但它应该让你你所要求的东西。也不确定你想要'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; 
相关问题