none
Query para seleção usando coluna de relação. RRS feed

  • Pergunta

  • Bom dia.

    Estou refazendo esse novo post pois o anterior não ficou bem explicado.

    Tenho uma tabela onde preciso fazer uma seleção utilizando a coluna ESTRATEGIA como identificadora 

    para as demais linhas. As linha de mesma ESTRATEGIA tem que unir tendo como nome da TAG os transmissores

    que tem o nome PIT, LT, TT. O valor nao importa.

    Exemplo abaixo.

    COMANDO SELECT ALL:

    RESULTADO QUE PROCURO:

    Obrigado pela atenção de todos.

    Helio

    quarta-feira, 23 de abril de 2014 11:49

Respostas

  • Eu testei aqui e functiona (se algumas regras serao sempre respeitadas)

    select *
    from #tabela where
    substring(REPLACE(estrategia,'estr.',''),1, PatIndex('%[0-9]%', REPLACE(estrategia,'estr.',''))-1) =
    substring(tag,1, PatIndex('%[0-9]%', tag)-1) 

    Isso vai funcionar se:

    1- os valores dio campo estrategia sempre contiverem um "ESTR."

    2- os valores de tag e estategia (apos o estr.) forem sempre do formato XXXXX99999, ou seja, letras e depois numero.. Caso exista um campo do tipo 122TT123 (999XXXXXX9999) isso nao vai funcionar

    Caso as regras acima nao sejam respeitadas creio que o unico meio de fazer essa query seja usando uma userfuncion que remova todos os numeros do seu campo deste jeito:

    http://blog.sqlauthority.com/2008/10/14/sql-server-get-numeric-value-from-alpha-numeric-string-udf-for-get-numeric-numbers-only/

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    • Sugerido como Resposta Edinaldo Junior quinta-feira, 24 de abril de 2014 12:21
    • Marcado como Resposta Giovani Cr segunda-feira, 28 de abril de 2014 18:47
    quarta-feira, 23 de abril de 2014 12:52