我对这个项目的最终目标是产生正确数量的在职女性员工、在职女性家属、在职男性员工和在职男性家属。我最终将使用散点图或饼图向客户显示此信息
我目前有一个名为 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 是我除了月之外唯一能加入的。
我怎么能让这两张表说给我一些看起来像这样的结果......
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