none
Agrupar registros com nomes semelhantes RRS feed

  • Discussão Geral

  • Pessoal preciso agrupar itens que são semelhantes de uma consulta, exemplo abaixo:

    1 TV32  10

    2 TV24  9

    3 TV 40 3

    preciso que o retorno seja

    1 TV 22

    quarta-feira, 19 de setembro de 2018 11:02

Todas as Respostas

  • Agrupar pela semelhança você consegue através da função SOUNDEX (https://docs.microsoft.com/pt-br/sql/t-sql/functions/soundex-transact-sql?view=sql-server-2017), porém pegar a parte base do texto (TV ao invés de TV32 ou TV 40), acho que precisaria ser tratado de manualmente.

    Ex:

    CREATE TABLE #TESTSOUNDEX(
    id INT PRIMARY KEY,
    palavra VARCHAR(40),
    valor int)
    GO
    
    INSERT INTO #TESTSOUNDEX VALUES(1, 'TV32', 9), (2, 'TV 40', 10), (3, 'TV24', 3)
    
    SELECT soundex(palavra) as snd_AREA, MAX(palavra) AS p, SUM(valor) as v
    from #TESTSOUNDEX
    group by soundex(palavra)
    order by p

    Saída:

    snd_AREA p                                        v
    -------- ---------------------------------------- -----------
    T100     TV32                                     22


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    quarta-feira, 19 de setembro de 2018 11:27
  • Deleted
    quarta-feira, 19 de setembro de 2018 11:27
  • Deleted
    quarta-feira, 19 de setembro de 2018 11:38
  • Até existem bibliotecas de processamento de linguagem natural que simplificam as palavras (como colocar verbos no infinitivo) e que possuem dicionários em português, porém o restante da implementação seria manual ou através de outras plataformas, que não sejam SQL Server.


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    quarta-feira, 19 de setembro de 2018 22:16
  • asbrafitis,

    Acredito que as observações feitas pelo Juliano possam ajudar, inclusive com base neste raciocínio, gostaria de indicar alguns links que publiquei no meu blog a um bom tempo justamente sobre fonética e o uso da função Soundex().

    Acesse: https://pedrogalvaojunior.wordpress.com/2013/10/02/material-de-apoio-especial-outubro-2013-fonetica/



    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]


    quinta-feira, 20 de setembro de 2018 00:35