none
selecionar dados únicos RRS feed

  • 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.

    domingo, 23 de julho de 2006 23:18

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_usuario

    Abs;

    segunda-feira, 24 de julho de 2006 10:59

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_usuario

    Abs;

    segunda-feira, 24 de julho de 2006 10:59
  • Marcelo, porque o count nos 2 campos?

    segunda-feira, 24 de julho de 2006 22:24
  • Achei que queria contar os dois? mais vc. pode tirar um de acordo com a sua necessidade

     

    qualquer coisa retorne

     

    Abs.

    terça-feira, 25 de julho de 2006 11:13