【发布时间】:2012-03-28 02:28:18
【问题描述】:
我有一个像这样的user 表
FIRSTNAME | LASTNAME | ID |
--------------------------------
James | Hay | 1 |
Other | Person | 2 |
我也有一个像这样的attendance 表
EVENTID | USERID | ATTENDANCE | STATUS |
-----------------------------------------------
1 1 True 3
2 1 False 1
3 1 False 3
1 2 False 1
2 2 True 3
3 2 True 3
基本上,当邀请用户参加活动时,attendance 表中会添加一行,其中包含活动 ID、用户 ID、假出席和状态 0。
状态只是他们反应的一个指标
0 = No Response
1 = Said No
2 = Said Yes
3 = Said yes and seats confirmed
我想通过查询这两个表得到的最终结果非常复杂,我无法弄清楚我需要做什么。
我想得到这样的结果
NAME | % of saying YES to an RSVP | % of attending after saying yes
-------------------------------------------------------------------------------
James Hay | 66 | 50
Other Person | 66 | 100
我相信您可以弄清楚我是如何得到这些数字的,但要解释一下,James Hay 对 2/3 的活动的邀请是 3(是)状态。所以说是的百分比是 66。在他说是的 2 个中,他只参加了 1/2,所以说是后参加的百分比是 50%
任何在正确轨道上的推动都会非常感谢,因为我无法理解这一点。
编辑:
另外一件非常重要的事情是,我希望结果包括数据库中的每个用户,即使他们在 attendance 表中有 0 行。
【问题讨论】:
标签: sql sql-server-2008 group-by