-1
我在我的SELECT中写下了这个。然而,则提示多个案例使用
EthnicGroupCd”在选择列表中无效,因为包含在聚合函数或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) as EthnicGenderCd
为什么要求我按即使我并不需要显示EthnicGroupCd?
你需要显示'EthnicGroupCd',它是你的'ELSE'子句中?如果'EthnicGroupCd'是“一些价值”,那么这将是你的一个群体,你需要按它分组。顺便说一句,您可以简化您的语句为'CASE WHEN b.ethnicgroupCd ='N/A'然后g.GenderDsc ELSE b.ethnicgroupcd END' - 甚至 - ISNULL(NULLIF(b.ethnicgroupCd,'N/A' ),g.GenderDsc)' – GarethD
@GarethD:我的意思是EthnicGroupCd只用于CASE,它不会显示在我的SELECT中。是不是只需要在我的SELECT中的其他字段执行聚合? – VeecoTech
你正在使用哪个dbms? – jarlh