多个案例使用

时间:2015-06-23 08:21:19

标签: sql

我在下面的SELECT中写了这个。但是,提示

  

EthnicGroupCd'在选择列表中无效,因为它不是   包含在聚合函数或GROUP BY子句中。

int[]

为什么它要求我分组,即使我不需要显示EthnicGroupCd?

1 个答案:

答案 0 :(得分:0)

  

我不需要显示EthnicGroupCd?

这与:

不匹配
ELSE b.ethnicgroupcd END

您可以解决此问题:

select .... ,(CASE WHEN b.ethnicgroupCd = 'N/A' THEN
                   (CASE WHEN g.GenderDsc = 'Male' THEN 'Male' 
                   WHEN g.GenderDsc = 'Female' THEN 'Female' END)
                   ELSE b.ethnicgroupcd END) as EthnicGenderCd
....
group by ...., (CASE WHEN b.ethnicgroupCd = 'N/A' THEN
                   (CASE WHEN g.GenderDsc = 'Male' THEN 'Male' 
                   WHEN g.GenderDsc = 'Female' THEN 'Female' END)
                   ELSE b.ethnicgroupcd END)