我正在使用SQL Server开发一个简单的犯罪记录管理系统。
我有以下表格:
Criminal (
CriminalID,
Gender ...)
Victim (
VictimID,
Gender ...)
Crime(
CrimeID,
CriminalID,
VictimID ...)
我有兴趣创建一个视图,为我们提供一个关于犯罪分子性别受害者性别的简单统计数据。
想要的输出示例:
Victim \ Criminal | Male | Female
Male | 4 | 2
Female | 8 | 5
仅根据受害者的性别或仅通过犯罪者的性别对犯罪数量进行分组并不难,但我该如何执行此任务?如何将犯罪分子的性别扩展到两个单独的列并执行所需的任务?
答案 0 :(得分:1)
您需要一个条件总和:
select criminal.gender
,SUM(case when victim.gender = 'M' then 1 else 0 end) as "Male"
,SUM(case when victim.gender = 'F' then 1 else 0 end) as "Female"
from ...
group by criminal.gender
CASE
返回1或0 ......