このプロジェクトの私の最終的な目標は、アクティブな女性従業員、アクティブな女性の扶養家族、アクティブな男性の従業員、およびアクティブな男性の扶養家族の正しい数を生み出すことです。最終的には、散布図または円グラフを使用して、この情報をクライアントに表示します。
現在、ActiveMemberTypeというテーブルがあります。
CC HID ID DOB Gender Month Total_Paid ActiveType
B11 BLM0 00 1987-07-12 F 2004-09 0.00 Dependent
B11 BLM0 00 1987-07-12 F 2004-10 0.00 Dependent
B11 BLM0 00 1987-07-12 F 2004-11 0.00 Dependent
B11 BLM0 00 1987-07-12 F 2004-12 0.00 Dependent
ActiveMembersPerMonthという別のテーブルがあります...
CC ID GID Month-Total-Emp-Dep
B11 115 12818 2003-01 24 12 12
B11 115 12818 2003-02 24 12 12
B11 115 12818 2003-03 24 12 12
B11 115 12818 2003-04 24 12 12
たぶん、女性に支払われた合計で、アクティブタイプを分離することができます
IDとGIDは形式的に使用され、ここでは実際には必要ありません。CCは、月以外に参加できる唯一のものです。
これらの2つのテーブルで、次のような結果が得られるようにするにはどうすればよいでしょうか...
CC HID SD DOB MONTH Active_Female_Emp Active_Male_Emp Active_Female_Dep Active_Female_Emp
b11 BLM 0 yyyy-mm-dd 2010-01 7 7 3 3
最終的には実際のカウントを合計に等しくする必要があります。明らかに、これらのフィールドは履歴データであるため静的であり、変更される可能性があるのはアクティブなフィールドだけです。
私の主な問題は、すべてのメンバーから支払われた合計を取り、それをSUM(IF(Gender ='M')1、0)タイプの取引で割ることでしたが、結果は非常にずれています。
CC HIDと_IDはメンバーを一意にするものであるため、月間アクティブメンバーテーブルにはないことに注意してください。サブクエリが必要になる場合があります...そこに着いたらそれを超えます...人々をブレインストーミングしましょう!ありがとう!
私は現在このプロジェクトに取り組んでいます。他にもテーブルがあることに注意してください。これらは、必要な特定のデータを格納するために作成した集計テーブルです。
これはEgyalのおかげで更新されます:
SELECT Client_Cd, Holder_Id, _ID, Incurred_Month,
SUM(Gender='F' AND Active_Type='Employee' ) AS Active_Female_Emp,
SUM(Gender='M' AND Active_Type='Employee' ) AS Active_Male_Emp,
SUM(Gender='F' AND Active_Type='Dependent') AS Active_Female_Dep,
SUM(Gender='M' AND Active_Type='Dependent') AS Active_Male_Dep,
SUM(Total_Paid) as Total_Paid
FROM ActiveMemberType
WHERE Incurred_Month = '2006-06'
GROUP BY client_Cd, HoldeR_ID, _Id, Incurred_Month;
明らかにこれはわかりませんが、ActiveMembersPerMonthテーブルを見ると
B11 115 12818 2006-06 428 180 248 42
ヘッダーなし...428は06-06の月の私のアクティブな合計です...
今あなたのクエリで、私のカウントは2221のアクティブに爆発します...多分計算エラー...
あなたの結果:
B11 BLM0 00 2006-06 2221 619 1468 2223 752371.20
とにかく、日付範囲内の特定の月の性別とActive_Typeによるtotal_paidが必要です