2017-04-18 66 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; 
相關問題