Usuário com melhor resposta
selecionar dados únicos

Pergunta
-
Tenho uma tabela com os seguintes campos:
cd_usuario, cd_usuario_qualificador, cd_tipo_qualificacao
Tenho que trazer para cada cd_usuario a quantidade de qualificações para cada cd_tipo_qualificacao, porém se um cd_usuario possuir mais de um registro de mesmo cd_tipo_qualificacao e do mesmo usuário, só um deve ser computado, ou seja:
cd_usuario cd_usuario_qualificador cd_tipo_qualificacao 1 2 1 1 2 1 1 2 3 2 1 1 2 1 2 Neste caso, o usuário de código 1 teria que somar somente 1 qualificação de cd_tipo_qualificacao igual a 1 e mais uma qualificação de cd_tipo_qualificacao igual a 3.
Já o usuário de código 2 teria 1 qualificação de cd_tipo_qualificacao igual a 1 e outra igual a 2.
Entenderam? Como posso trazer os dados dessa forma ?
Valeu.
Respostas
-
era isso ?
create Table #exemplo (cd_usuario int, cd_usuario_qualificador int, cd_tipo_qualificacao int)
insert into #exemplo (cd_usuario, cd_usuario_qualificador, cd_tipo_qualificacao) Values (1, 2, 1 )
insert into #exemplo (cd_usuario, cd_usuario_qualificador, cd_tipo_qualificacao) Values (1, 2, 3)
insert into #exemplo (cd_usuario, cd_usuario_qualificador, cd_tipo_qualificacao) Values (2, 1, 1)
insert into #exemplo (cd_usuario, cd_usuario_qualificador, cd_tipo_qualificacao) Values (2, 1, 2 )Select cd_usuario, count(distinct cd_usuario_qualificador) as cd_usuario_qualificador,
count(cd_tipo_qualificacao) as cd_tipo_qualificacao
From #exemplo
group by cd_usuarioAbs;
Todas as Respostas
-
era isso ?
create Table #exemplo (cd_usuario int, cd_usuario_qualificador int, cd_tipo_qualificacao int)
insert into #exemplo (cd_usuario, cd_usuario_qualificador, cd_tipo_qualificacao) Values (1, 2, 1 )
insert into #exemplo (cd_usuario, cd_usuario_qualificador, cd_tipo_qualificacao) Values (1, 2, 3)
insert into #exemplo (cd_usuario, cd_usuario_qualificador, cd_tipo_qualificacao) Values (2, 1, 1)
insert into #exemplo (cd_usuario, cd_usuario_qualificador, cd_tipo_qualificacao) Values (2, 1, 2 )Select cd_usuario, count(distinct cd_usuario_qualificador) as cd_usuario_qualificador,
count(cd_tipo_qualificacao) as cd_tipo_qualificacao
From #exemplo
group by cd_usuarioAbs;
-
-