我正在努力实现这个目标
select
case
when Org_CD = '1111' or Org_CD in (select distinct New_Org_CD from #temp) then 'International'
end as 'Organisation',
count(*)
from #AnotherTempTable
group by
case
when Org_CD = '1111' or Org_CD in (select distinct New_Org_CD from #temp) then 'International'
end
我收到了这个错误:
列'#AnotherTempTable.Org_Cd'是 因为它在选择列表中无效 不包含在任何一个 聚合函数或GROUP BY 子句。
是因为我不能在case语句中使用“in”关键字吗?如果是的话,任何已知的解决方法都会有所帮助!
答案 0 :(得分:1)
我试试这个......
select
Org_CD, count(*)
from
#AnotherTempTable A
JOIN
(select distinct New_Org_CD from #temp UNION SELECT '1111') T ON A.Org_CD = T.New_Org_CD
group by
Org_CD
你不能拥有这样的内联IN(CASE +聚合)
如果不行,请提供样本数据和输出
答案 1 :(得分:0)
我使用'Union'解决了gbn的解决方案。谢谢大家。