Eu preciso de uma consulta simples, mas não consegui encontrar a maneira de fazê-lo:
Tenho uma tabela de serviços adquiridos por clientes, onde diferentes clientes podem adquirir o mesmo serviço (trivialmente), e cada cliente pode ter vários serviços ativos ou inativos:
ServiceId IsActive ServiceCustomerId
815 0 111
715 0 111
985 1 222
815 1 333
475 1 111
985 1 111
815 1 222
Eu quero obter registros de clientes que têm serviços ativos e inativos, então a saída seria ( ServiceId
pode ser omitida):
IsActive ServiceCustomerId
0 111
1 111
O que eu tenho é:
select ServiceCustomerId,IsActive from Services
group by ServiceCustomerId, IsActive
having count(IsActive) > 1
order by ServiceCustomerId
Que dá:
IsActive ServiceCustomerId
0 111
1 111
1 222
A demonstração pode ser vista aqui .
Como faço para filtrar apenas aqueles que têm os dois IsActive
grupos?
Que tal