Eu armazenaria toda estrutura do NCM como string [1] [2]. É mais simples. [1] http://emersonhermann.blogspot.com.br/2012/09/consulta-sql-de-plano-de-contas-query.html [2] http://emersonhermann.blogspot.com.br/2013/01/desenvolvendo-querys-sql-para-razao-e.html
Em 20 de abril de 2016 09:17, Márcio A. Sepp <[email protected]> escreveu: > > > Pessoal, > > > > Gostaria de compartilhar um problema e verificar se alguém pode me dar uma > opinião. > > > > Tenho a necessidade de associar características a um NCM > <http://classificacaodemercadorias.com.br/como-e-a-estrutura-e-composicao-da-nomenclatura-comum-do-mercosul-ncm.html>. > Um código NCM é formado da seguinte forma: > > > > SEÇÃO I DEFINIÇÃO > > Capítulo 01 Animais vivos > > Posição 0104 Animais vivos das > espécies ovinas ou caprinas > > Subposição 0104.10 Ovinos > > Item 0104.10.1 Reprodutores de raça pura > > Subitem 0104.10.11 Prenhe ou com cria ao pé > > > > > > Acontece que a característica pode estar associado a qualquer nível do > NCM. O fato é que quando eu fizer uma consulta a um código 0104.10.11, > tenho que retornar as características que estão associadas diretamente ao > código e também as características que estiverem associadas aos códigos de > hierarquias superiores. > > > > Minha dúvida está em qual seria a melhor forma de armazenar este código, > para que as consultas tenham a melhor performance. > > > > Armazenar cada pedaço do código em uma coluna separada, ou gravar em um > único campo string? > > > > Existe alguma forma melhor de executar a consulta (performance) do que a > abaixo? > > > > select * from ncmcaracteristica > > Where > > subitem = '0104.10.11' > > OR item = '0104.10.1' > > OR subposicao = '0104.10' > > OR posicao = '0104' > > OR capitulo = '01' > > > > > > Dê uma olhada na cláusula with recursive. Dependendo como está a sua > estrutura, pode ser aplicado no seu caso. > > http://www.postgresql.org/docs/9.5/static/queries-with.html > > > > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
