2017-04-18 12 views
-2

MYSQLに4つのテーブルがあり、36の地区すべてでlearner_historyテーブルのステータスカラムを表示するようにしたいのですが、左の地区名が利用可能なデータがある天候を示すために参加するかどうか、すべての地区のために、このようにする必要があり、そのposition.Dataでヌルまたはゼロ示さなければならない:マルチプルジョインですべてのレコードを取得する方法

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。#」で何を望んでいるのかも分かりませんでした。すべての結果が最も役立つわけではありません。

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; 
関連する問題