Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde.
Estou criando um painel onde preciso informar a raiz do campo CPFCNPJ. A raiz consiste nos oito primeiros caracteres do campo CPFCNPJ. Até aqui tudo bem, já tenho o campo chamado CPFCNPJ_RAIZ.
EXEMPLO:
CPFCNPJ = 08.546.655/0001-54;
Raiz = 08546655;
Filial = 0001;
A questão é que com isso, ocorreu repetições pois tem empresas com várias filiais e conforme o gestor, basta que seja selecionado apenas o menor CPFCNPJ onde no caso é o chamado "mil de ré" no CNPJ exemplo apenas o 0001 resolveria o caso. Entretanto, nem todas as empresas cadastradas na base de dados tem o "mil de ré" (Nº da Filial), ou seja, tem vários outros valores nesta posição:
Raiz: 07954868
Filial: 0019 = CNPJ 07954868001955
Filial: 0056 = CNPJ 07954868005634
Filial: 0194 = CNPJ 07954868019476
No caso acima, apenas o CNPJ 07954868001955, com diferencial 0019 deve ser carregado.
Como resolver isso via LOAD?
Grande abraço e obrigado.
Talvez atenda:
T:
LOAD * INLINE [
CNPJ
07954868001955
07954868005634
07954868019476
];
LOAD
LEFT(CNPJ,8) AS RAIZ,
LEFT(MIN(RIGHT(CNPJ,6)),4) AS FILIAL
Resident T
gROUP BY LEFT(CNPJ,8)
Você pode buscar left(cnpj,12) vai buscar as 12 primeiras posições.
Ou se quer carregar separado , mid(CNPJ,8,4) as Filial.
Atenciosamente
Talvez atenda:
T:
LOAD * INLINE [
CNPJ
07954868001955
07954868005634
07954868019476
];
LOAD
LEFT(CNPJ,8) AS RAIZ,
LEFT(MIN(RIGHT(CNPJ,6)),4) AS FILIAL
Resident T
gROUP BY LEFT(CNPJ,8)
Grande Clever, muito obrigado.
Só fiz uma alteração na sua fórmula
T:
LOAD * INLINE [
CNPJ
07954868001955
07954868005634
07954868019476
];
LOAD
LEFT(CNPJ,8) AS RAIZ,
MIN(MID(CNPJ,9,4)) AS FILIAL
Resident T
gROUP BY LEFT(CNPJ,8)
E funcionou direitinho.
Mais uma vez obrigado.
Maicon, obrigado pela ajuda.
Mas eu já trago o falor da filial, que seria MID(CNPJ,9,4), mas isso não restringe a carga apenas para a raiz da matriz.
De qualquer forma, obrigado pela tentativa e atenção.