-4

我正在使用 VS2010 为我的应用程序构建报告。
我的数据库有两个表:Users 和clinical_data。Users 表有一个名为:Gender、
PatientRegistrationNo 的列,Clinical_data 表包含列:RegistrationNo。对于退出用户表并为
他或她拥有临床数据存储的每个注册用户,我希望我的查询显示:
男性和女性的总数,当前日期男性和女性的百分比:这是我的查询,但不是为我工作:

    select COUNT(gender )  From Bio_Data
where  DateCreated = ADDDATE(GETDATE());
4

1 回答 1

0

我认为以下查询将帮助您获得结果

SELECT ( Sum(CASE 
               WHEN Gender = 'm' THEN 1.0 
               ELSE 0 
             END) / Count(*) ) * 100 AS male_percent, 
       ( Sum(CASE 
               WHEN Gender = 'f' THEN 1.0 
               ELSE 0 
             END) / Count(*) ) * 100 AS female_percent, 
       Sum(CASE 
             WHEN Gender = 'm' THEN 1.0 
             ELSE 0 
           END) / Sum(CASE 
                        WHEN Gender = 'f' THEN 1.0 
                        ELSE 0 
                      END)           AS ratio, 
       Sum(1)                        AS total_Male_Female 
FROM   Users 
       INNER JOIN Clinical_data 
         ON Users.RegistrationNo = Clinical_data.RegistrationNo 
于 2012-05-23T15:05:31.367 回答