次の表に基づいてレポートを生成する必要があります。
CALLS_FOR_PROPOSALS
ID|Name
--+------
1|Call 1
2|Call 2
3|Call 3
PROPOSALS
ID|Call ID|Title
--+-------+----------
1| 1|Proposal 1
2| 2|Proposal 2
3| 2|Proposal 3
PROPOSAL_STATUSES
ID|Proposal ID|Status ID
--+-----------+---------
1| 1| 1
2| 2| 1
3| 3| 1
4| 3| 2
STATUSES
ID|NAME
--+------------
1|Not Reviewed
2|Processing
3|Accepted
4|Rejected
このサンプルデータでは、3つの提案の呼び出しがあります。3つの提案があります。1つはコール1用、2つはコール2用です(コール3にはプロポーザルはありません)。各プロポーザルには、少なくとも1つのステータスが割り当てられています。行がPROPOSALSテーブルに挿入されると、対応する行がPROPOSAL_STATUSESに挿入され、プロポーザルの初期デフォルトステータスが1(未レビュー)になります。ステータスが変更されるたびに、新しい行がPROPOSAL_STATUSESテーブルに挿入されるため、ステータス変更の履歴が保持されます。コールごとに、送信されたプロポーザルの数、および複数のステータスを持つ(つまり、ステータスがデフォルトから少なくとも1回変更された)プロポーザルの数を示すレポートを生成する必要があります。上記のサンプルデータの場合、結果は次のようになります。
Call Name|Proposals Submitted|Proposals Reviewed|
---------+-------------------+------------------+
Call 1 | 1| 0|
Call 2 | 2| 1|
Call 3 | 0| 0|
上記のテーブル構造に基づいてこのレポートを生成するSQLクエリをどのように記述しますか?ご協力いただきありがとうございます。