我有一张表,每个月都有客户列出并使用active_indicator。对于每个客户,我想拉动活动指标仅两个月(2014年12月和2015年12月),但是当我编写下面的代码时,我会得到一个表格,其中每个客户列出两次。我知道我可以使用max做另一个步骤来将表格汇总到客户级别,但无论如何要在一个简单的SQL查询中执行此操作?如何在不复制客户的情况下编写此SQL?
select distinct
customer
,case when date='2015-12-01' then active_indicator else 0 end as Dec2015_active_ind
,case when date='2014-12-01' then active_indicator else 0 end as Dec2014_active_ind
from monthly_account_cust
where date in ('2015-12-01', '2014-12-01')
order by customer
使用标记dbms(MySQL或MS SQL Server?)。数据类型为'date'列? – jarlh
除非你聚合这个,否则假设有两行符合日期标准,你将得到两行。 –