MySqlデータベースでは、少しトリッキーなクエリを実行する必要があります。2つの列(タイプ(プロジェクト、サポート、教育)と値(例では60と40))でのみ結果を取得する必要があります
タイプを含む静的テーブルがあります。
T1
ID TYPE
1 PROJECT
2 PROJECT
3 PROJECT
4 SUPPORT
5 EDUCATION
いくつかのタイプの値を持つすべてのタスクを含む静的テーブルT2があります。
T2
TASK T1ID
1 1
2 1
3 2
4 3
5 4
6 5
T3は、いくつかのIDSで作成されたタスクの動的テーブルです。
T3
ID
1
2
3
4
5
6
T4テーブルには、これらのタスクを作成した人の情報が含まれています。
T4
T3ID Name
1 Bob Marley
2 Bob Marley
3 Bob Marley
4 Bob Marley
5 Tom Cruise
6 Bob Marley
最後に、T5にはT2とT3からの情報が含まれています
T5
TASK T3ID
1 1
2 2
3 3
5 4
1 5
5 6
一部の特定の人(常に1人-この例ではBobMarleyまたはTomCruise)の場合、プロジェクト、サポート、または教育に取り組んだ人の数をパーセントで統計する必要があります。
そこで、ボブ・マーリーを選択します。彼のT3IDは1、2、3、4、6です。
表5では、彼のタスクIDは1、2、3、5、そして5です。
したがって、表T2を見ると、彼のT1 IDは1、1、2、4、および4です。これは、BobMarleyが3つのプロジェクトと2つのサポートタスクに取り組んだことを意味します。
したがって、Bob Marleyを選択すると、結果は次のようになります。
PROJECT 60
SUPPORT 40
これは、クエリの最終結果です。どうすればこれを達成できますか?いくつかのJOINステートメントである必要があり、もちろんWHERE句で使用できることを知っています。
where name='Bob Marley'
入れたら
`where name=Tom Cruise
結果は
PROJECT 100`
ありがとうございました