Sql 当发生以下情况时,总和内的加法

Sql 当发生以下情况时,总和内的加法,sql,amazon-redshift,Sql,Amazon Redshift,如何将DS01、02、03中的所有客户相加为DS? 挑选 合计(当票证为“DS01”或“DSO2”或“DS03”时,则客户其他0结束)作为DS 总金额(票证='MSO2'或'MS03'时,则客户0结束)为毫秒 从桌子上 团体票 不确定如何在“THEN and ELSE”部分中添加附加条件您可以使用left(): 或者,如果您想要明确的列表: select (case when ticket in ('DS01', 'DS02', 'DS03') then 'DS' w

如何将DS01、02、03中的所有客户相加为DS?

挑选 合计(当票证为“DS01”或“DSO2”或“DS03”时,则客户其他0结束)作为DS 总金额(票证='MSO2'或'MS03'时,则客户0结束)为毫秒 从桌子上 团体票 不确定如何在“THEN and ELSE”部分中添加附加条件

您可以使用
left()

或者,如果您想要明确的列表:

select (case when ticket in ('DS01', 'DS02', 'DS03') then 'DS'
             when ticket in ('MS02', 'MS03') then 'MS'
        end), sum(customers)
from t
group by 1;

谢谢这个表格很长,字母和数字混合在一起,输入到case语句中只起作用。案例当Ticket='DS01'或'DSO2'或'DS03'然后customer ELSE 0结束时,因此寻找一个解决方案,该解决方案将在其工作时具有案例!谢谢
select (case when ticket in ('DS01', 'DS02', 'DS03') then 'DS'
             when ticket in ('MS02', 'MS03') then 'MS'
        end), sum(customers)
from t
group by 1;